現在、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は私には機能しませんでした、それで私は何をすべきでしょうか?
代わりにこれを入力してみてください:
_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
_
あなたはこれを探しています:
post_frame = cap.get(cv2.CAP_PROP_POS_FRAMES)
/ usr/include/opencv2または/ usr/local/includeなどのmakefileインクルードパスにあるCV_CAP_PROP_POS_FRAMESを検索する必要があります。 videoio /videoio_c.hまたは/videoio/legacy/constants_c.hにあります。これをインクルードパス#includeで使用します。これは正しい方法です。