Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenCV-Python cv2.CV_CAP_PROP_POS_FRAMES error

Currently, I am using opencv 3.1.0, and I encountered the following error when executing the following code:

post_frame = cap.get(cv2.CV_CAP_PROP_POS_FRAMES)

I got the following error Message:

File "videoOperation.py", line 37, in pos_frame = cap.get(cv2.CV_CAP_PROP_POS_FRAMES) AttributeError: 'module' object has no attribute 'CV_CAP_PROP_POS_FRAMES'

The code should be written in the following format when using OpenCV 2.x:

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

From opencv 3.0.0-dev python bindings not working properly, I know that

the cv2.cv submodule got removed in opencv3.0, also some constants were changed

But the cv2.CV_CAP_PROP_POS_FRAMES didn't work for me, So what am I supposed to do?

like image 708
shady Avatar asked Jul 25 '16 08:07

shady


2 Answers

Try typing this instead:

post_frame = cap.get(1) #CAP_PROP_POS_FRAMES = 1

If you type help('cv2') in the Python shell, you will find some modifications to the syntax.

output truncated

...
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
...
like image 198
Tes3awy Avatar answered Sep 28 '22 00:09

Tes3awy


You're looking for this:

post_frame = cap.get(cv2.CAP_PROP_POS_FRAMES)
like image 37
Vishal Avatar answered Sep 28 '22 02:09

Vishal