【发布时间】:2013-11-22 02:35:59
【问题描述】:
我在 Kubuntu 12.04 上使用 OpenCV 2.4.6 和 C++ 和 Python。使用 Logitech Quick Cam Pro 3000 网络摄像头,我成功设置了帧大小,但 VideoCapture::set() 总是返回 false。
// C++
VideoCapture lCap( 0 );
cout << lCap.get( CV_CAP_PROP_FRAME_WIDTH ) << endl;
cout << lCap.get( CV_CAP_PROP_FRAME_HEIGHT ) << endl;
cout << boolalpha << lCap.set( CV_CAP_PROP_FRAME_WIDTH, 320 ) << endl;
cout << boolalpha << lCap.set( CV_CAP_PROP_FRAME_HEIGHT, 240 ) << endl;
cout << lCap.get( CV_CAP_PROP_FRAME_WIDTH ) << endl;
cout << lCap.get( CV_CAP_PROP_FRAME_HEIGHT ) << endl;
给予:
640
480
false
false
320
240
和
# Python 2.7
Cap = cv2.VideoCapture( 0 )
print( Cap.get( CV_CAP_PROP_FRAME_WIDTH ) )
print( Cap.get( CV_CAP_PROP_FRAME_HEIGHT ) )
print( Cap.set( CV_CAP_PROP_FRAME_WIDTH, 320 ) )
print( Cap.set( CV_CAP_PROP_FRAME_HEIGHT, 240 ) )
print( Cap.get( CV_CAP_PROP_FRAME_WIDTH ) )
print( Cap.get( CV_CAP_PROP_FRAME_HEIGHT ) )
也给出了同样的东西。
所以我想知道这种行为是否正常(OpenCV 或 libs V4L、V4L2??? 或我的网络摄像头)。如果是这样,我总是可以通过在set() 之后执行get() 来检查我的尝试。但如果有什么问题,我想知道。
查看文档:Doc for VideoCapture::set(), OpenCV 2.4.6
谢谢!
【问题讨论】:
-
你使用的是主干版还是稳定版..?
-
我用的是stable 2.4.6...
标签: c++ python linux opencv image-capture