提前感谢您的考虑。
我试图通过Python界面cv2(v 2.4.8)使用openCV从linux中的Imaging Source单色相机(DMK 23UU45)捕获灰度图像。
我可以通过cv2.VideoCapture初始化摄像头捕获类;但是,当前识别的唯一属性是图像大小和宽度:
>>> cam1 = cv2.VideoCapture(1)
>>> cam1.get(3)
>>> 1280.0
>>> cam1.get(4)
>>> 960.0
如果我尝试获取其他属性的状态,我会收到错误:
>>> cam1.get(1)
>>> HIGHGUI ERROR: V4L2: Unable to get property <unknown property string>(16) - Invalid argument
-1.0
我认为这是个问题,因为我认为默认情况下VideoCapture类的实例会尝试将图像转换为RGB3。我使用以下代码来读取和保存图像:
>>> flg, img = cam1.read()
>>> cv2.imwrite('/path/to/save/image.png', img)
保存的图片如下所示: 好吧,显然我需要更多的街头信誉来发布图片。基本上,图片有三个图像副本,并且它们没有达到完全分辨率。
不确定是否有后果,但是当我为相机初始化VideoCapture类的实例时,我得到以下内容:
libv4l2: error set_fmt gave us a different result then try_fmt!
HIGHGUI ERROR: libv4l unable convert to requested pixfmt
libv4l2: error set_fmt gave us a different result then try_fmt!
再次感谢您的时间和考虑!!