web-dev-qa-db-ja.com

CAP_PROP_FRAME_COUNT定数がopencv `cv2`にありませんpythonモジュール

PythonでopencvからCAP_PROP_FRAME_COUNTにアクセスする方法は?私はこれを試しました:

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)

この:

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)

そしてこれも:

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)

しかし、私はこのエラーを得ています:

AttributeError: 'module' object has no attribute 'CAP_PROP_FRAME_COUNT'

python 2.7.5OpenCV 2.4.9を使用しています。

11
ProGM

OpenCVの最初のバージョンの定数pythonモジュールにはCV_接頭辞。したがって、cv.CV_CAP_PROP_FRAME_COUNTまたはcv2.cv.CV_CAP_PROP_FRAME_COUNT

18
David Zwicker

OSXでmacportsを実行しているとき(opencv @ 3.0.0_1 + python27 + tbb)

CAP_PROP_FRAME_HEIGHTおよびCAP_PROP_FRAME_WIDTHは、次のようにして取得できます。

#!/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)
16
extensa5620

http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-get

#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)

http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-set

#3. CV_CAP_PROP_FRAME_WIDTH
cap.set(3,320)
#4. CV_CAP_PROP_FRAME_HEIGHT
cap.set(4,240)
2
Alain Vega

OpenCV 2.xでは、これらの属性はCV_...のようにCV_CAP_PROP_FRAME_COUNTで始まる名前が付けられています。

OpenCV 3.x およびOpenCV 4.xでは、これらの属性はCV_...のようにCAP_PROP_FRAME_COUNTなしで命名されます。

2
Qin Heyang
import cv2

import cv2.cv as cv

Cv2の使用:

stream = cv2.VideoCapture(filename)

print stream.get(cv.CV_CAP_PROP_FRAME_COUNT)
0
1kkwrds