2012-06-11 1 views
5

Ich habe viele Kombinationen in opencv 2.3 und 2.4 versucht, um Frame-Anzahl eines Videos zu erhalten, aber ohne Ergebnis. Es scheint, dass es einfach nicht da ist.kein Zugriff auf GetCaptureProperty oder eine ähnliche Funktion in Python opencv

stream = cv.VideoCapture(avsfilename) #stream.isOpened() returns True, everything's ok 
framecount = cv.GetCaptureProperty(stream, CV_CAP_PROP_FRAME_COUNT) #no 
framecount = cv.GetCaptureProperty(stream, cv.CV_CAP_PROP_FRAME_COUNT) #no 
framecount = stream.get(cv.CV_CAP_PROP_FRAME_COUNT) #no 
framecount = stream.get(CV_CAP_PROP_FRAME_COUNT) #no 

'Modul' Objekt hat kein Attribut 'CV_CAP_PROP_FRAME_COUNT'

Wer bestanden etwas ähnliches?

Antwort

7

Sie haben ein wenig vorsichtig Ihre cv2 und cv Importe sein, diese beiden Arbeiten:

import cv2 
import cv2.cv as cv 

#Using cv2: 
stream = cv2.VideoCapture(filename) 
print stream.get(cv.CV_CAP_PROP_FRAME_COUNT) 

#using cv: 
stream = cv.CaptureFromFile(filename) 
print cv.GetCaptureProperty(stream, cv.CV_CAP_PROP_FRAME_COUNT) 
+0

Sie haben Recht. Es ist zum ersten Mal verwirrend, aber das ist es. – tookanstoken

+0

Gibt es eine Dokumentation, wie man eine App "portiert", die die cv style APIs zum cv2 style verwendet? Der Import cv2.cv als CV funktioniert nicht mehr und daher funktioniert der Code, den ich benutze CV nicht und muss es von dem, was ich hier sehe, ändern. – MikeyB

Verwandte Themen