Comment accéder à CAP_PROP_FRAME_COUNT
à partir d'opencv en python? J'ai essayé ceci:
import cv2
cap = cv2.VideoCapture('myvideo.avi')
frames_count, fps, width, height = cap.get(cv2.CAP_PROP_FRAME_COUNT), cap.get(cv2.CAP_PROP_FPS), cap.get(cv2.CAP_PROP_FRAME_WIDTH), cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
Et ça:
import cv2
import cv
cap = cv2.VideoCapture('myvideo.avi')
frames_count, fps, width, height = cap.get(cv.CAP_PROP_FRAME_COUNT), cap.get(cv.CAP_PROP_FPS), cap.get(cv.CAP_PROP_FRAME_WIDTH), cap.get(cv.CAP_PROP_FRAME_HEIGHT)
et aussi ceci:
import cv2
cap = cv2.VideoCapture('myvideo.avi')
frames_count, fps, width, height = cap.get(cv2.cv.CAP_PROP_FRAME_COUNT), cap.get(cv2.cv.CAP_PROP_FPS), cap.get(cv2.cv.CAP_PROP_FRAME_WIDTH), cap.get(cv2.cv.CAP_PROP_FRAME_HEIGHT)
Mais je reçois cette erreur:
AttributeError: 'module' object has no attribute 'CAP_PROP_FRAME_COUNT'
J'utilise python 2.7.5 et OpenCV 2.4.9 .
Les constantes de la première version du module python OpenCV ont un préfixe CV_
. Vous pouvez donc utiliser soit cv.CV_CAP_PROP_FRAME_COUNT
, soit cv2.cv.CV_CAP_PROP_FRAME_COUNT
.
Pendant l’exécution de macports sur OSX (opencv @ 3.0.0_1 + python27 + tbb)
Vous pouvez obtenir CAP_PROP_FRAME_HEIGHT et CAP_PROP_FRAME_WIDTH avec les éléments suivants:
#!/opt/local/bin/python
import cv2
vcap = cv2.VideoCapture()
# set frame width and height
vcap.set(cv2.CAP_PROP_FRAME_WIDTH, 480)
vcap.set(cv2.CAP_PROP_FRAME_HEIGHT, 640)
vcap.open(0)
#3. CV_CAP_PROP_FRAME_WIDTH
print "\t CAP_PROP_FRAME_WIDTH: ",cap.get(3)
#4. CV_CAP_PROP_FRAME_HEIGHT
print "\t CAP_PROP_FRAME_HEIGHT: ",cap.get(4)
#3. CV_CAP_PROP_FRAME_WIDTH
cap.set(3,320)
#4. CV_CAP_PROP_FRAME_HEIGHT
cap.set(4,240)
import cv2
import cv2.cv as cv
stream = cv2.VideoCapture(filename)
print stream.get(cv.CV_CAP_PROP_FRAME_COUNT)