web-dev-qa-db-ja.com

OpenCV-Pythoncv2.CV_CAP_PROP_POS_FRAMESエラー

現在、opencv 3.1.0を使用していますが、次のコードを実行すると次のエラーが発生しました。

post_frame = cap.get(cv2.CV_CAP_PROP_POS_FRAMES)

次のエラーメッセージが表示されました。

ファイル "videoOperation.py"、行37、pos_frame = cap.get(cv2.CV_CAP_PROP_POS_FRAMES)AttributeError: 'module'オブジェクトに属性 'CV_CAP_PROP_POS_FRAMES'がありません

OpenCV 2.xを使用する場合、コードは次の形式で記述する必要があります。

post_frame = cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)

opencv 3.0.0-dev pythonバインディングが正しく機能していません から、私はそれを知っています

cv2.cvサブモジュールはopencv3.0で削除され、一部の定数も変更されました

しかし、cv2.CV_CAP_PROP_POS_FRAMESは私には機能しませんでした、それで私は何をすべきでしょうか?

6
shady

代わりにこれを入力してみてください:

_post_frame = cap.get(1) #CAP_PROP_POS_FRAMES = 1
_

Python Shellにhelp('cv2')と入力すると、構文にいくつかの変更が加えられます。これらはすべてDataではありません。単なる図です。

_CAP_PROP_PAN = 33
CAP_PROP_POS_AVI_RATIO = 2
CAP_PROP_POS_FRAMES = 1
CAP_PROP_POS_MSEC = 0
CAP_PROP_PVAPI_BINNINGX = 304
CAP_PROP_PVAPI_BINNINGY = 305
CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302
_
7
Tes3awy

あなたはこれを探しています:

post_frame = cap.get(cv2.CAP_PROP_POS_FRAMES)
10
Vishal

/ usr/include/opencv2または/ usr/local/includeなどのmakefileインクルードパスにあるCV_CAP_PROP_POS_FRAMESを検索する必要があります。 videoio /videoio_c.hまたは/videoio/legacy/constants_c.hにあります。これをインクルードパス#includeで使用します。これは正しい方法です。

0
Prateek Pant