2016-10-06 8 views
-2

Ich bin neu in der Videoanalyse und Python und arbeite an einem Projekt zur Video-Komposition. Ich habe drei Videos, die sich überschneiden. beispiels sind unterhalb der Start- und Endzeit des VideosWie überprüfe ich, ob sich Videos überschneiden?

 video1  video2  video3 
start 19-13-30 19-13-25 19-13-45 
end 19-13-55 19-13-35 19-13-59 

Im obigen Szenario VIDEO1 & VIDEO2 Überlappung für 5 sec (19-13-30 bis 19-13-35) und VIDEO1 und video3 Überlappung für 10 Sekunden (19-13-45 bis 19-13-55).

So ist es eine Möglichkeit, die Überlappungen in den Videos die Zeitstempel und die Rückkehr der Zeitstempel für die sie sich überlappen oder nur durch die Analyse der Video

+0

Können Sie uns einen Code von dem zeigen, was Sie im Moment versucht haben? –

+2

Ja, es gibt einen Weg :) –

Antwort

0

Angenommen, Sie haben eine Liste von Startzeit und Endzeit der Videos gegeben zu identifizieren [[video1_starttime, video1_endtime], [video2_starttime, video2_endtime], [video3_starttime, video3_endtime]], können Sie die Liste zuerst anhand von Startzeiten sortieren und dann darüber iterieren, um zu überprüfen, ob sie sich überschneiden.

können Sie den Code unten verwenden, um es zu überprüfen:

overlapping = [ [x,y] for x in intervals for y in intervals if x is not y and x[1]>y[0] and x[0]<y[0] ] 
for x in overlapping: 
    print '{0} overlaps with {1}'.format(x[0],x[1]) 

wo Intervalle ist die Liste der [starttime,endtime]

die Zeitstempel zu vergleichen, wandeln sie in Datetime-Objekte verwenden:

from datetime import datetime 
dateTimeObject = datetime.strptime(timestampString) 
+0

Danke für die Antwort. Eigentlich habe ich die Zeitstempel als Wörterbuchwerte mit den Videoindizes als Schlüssel. Also wollte ich den Wert von Schlüsseln erhalten, für deren Werte es eine Überlappung gibt. – Tinku

+0

Wenn Sie Zeitstempel in Datetime-Objekte konvertieren können, können die Objekte mit> oder

Verwandte Themen