我使用thorlabs(DC1545m )的USB摄像头,使用的是opencv ) 2.4 )和python ) 2.7.3 )。 用OpenCV/Python设定相机参数
正在进行视频流的图像分析。 我想从视频流中更改摄像机参数。 令人困惑的是,我可以改变一些照相机的属性,但不是所有照相机的属性,我不知道我做错了什么。
以下是代码。 在Python上,CV2绑定和我能确认的是它在工作。
导入cv2
#capture from camera at location 0
cap=cv2 .视频捕获(0) )。
#set the width and height,andunsuccessfullysettheexposuretime
cap.set (3,1280 )。
cap.set (4,1024 )。
cap.set (15,0.1 )。
while True:
ret,img=cap.read (
CV2.imshow('input ',img ) ) )。
#cv2.imshow('thresholded ',imgray*thresh2) ) ) )。
key=cv2.waitkey(10 ) ) ) ) ) )。
if key==27:
布莱克
cv2.destroyAllWindows (
cv2 .视频捕获(0).release )。
作为参考,cap.set的第一个参数()命令是指照相机性能的列举,列举如下。
0.cv _ cap _ prop _ pos _ mseccurrentpositionofthevideofileinmilliseconds。
1.cv _ cap _ prop _ pos _ frames0- basedindexoftheframetobedecoded/captured next。
3.cv _ cap _ prop _ pos _ avi _ ratiorelativepositionofthevideofile
4.cv _ cap _ prop _ frame _ widthwidthoftheframesinthevideostream。
5.cv _ cap _ prop _ frame _ heightheightoftheframesinthevideostream。
6. CV_CAP_PROP_FPS Frame rate。
7.cv _ cap _ prop _ fourcc4- charactercodeofcodec。
8.cv _ cap _ prop _ frame _ countnumberofframesinthevideofile。
9.cv _ cap _ prop _ formatformatofthematobjectsreturnedbyretrieve ()。
10.cv _ cap _ prop _ mode back end-specificvalueindicatingthecurrentcapturemode。
11.cv _ cap _ prop _ brightnessbrightnessoftheimage (only for cameras )。
12.cv _ cap _ prop _ contrastcontrastoftheimage (only for cameras )。
13.cv _ cap _ prop _ saturationsaturationoftheimage (only for cameras )。
14.cv _ cap _ prop _ huehueoftheimage (only for cameras )。
15.cv _ cap _ prop _ gaingainoftheimage (only for cameras )。
16.cv _ cap _ prop _ exposure exposure (only for cameras )。
17.cv _ cap _ prop _ convert _ rgbbooleanflagsindicatingwhetherimagesshouldbeconvertedtorgb。
18.cv _ cap _ prop _ white _ balancecurrentlyunsupported
19.cv _ cap _ prop _ rectificationrectificationflagforstereocameras (note : onlysupportedbydc 1394 v2.xbackendcurendcurendcurentlenttiorectiontiontiontiorectiontion
我的问题是:
可以在python/opencv中设置相机曝光时间(或其他相机参数)吗?
如果不是,如何设置这些参数?
注意:虽然有摄像头制造商的C代码说明如何实现这一点,但我不是C的专家,而是长期享受基于python的解决方案。
在此先谢谢你!
2012-07-10
麦克
2
那么,第十五个选择,即CV_CAP_PROP_EXPOSURE是什么? 是曝光时间吗?
2012-07-11 09:18:59
3
是的。 我所做的是,试图修改它,会得到可测量的结果。 (如果没有' cap.set(15,x ),' x '的值,这将产生可测量的变化。 顺便说一下,谢谢你的博客。 在python上提高opencv的速度已经很有帮助了。 你得到了赞成: )
2012-07-11 20:01:36
0
最后一行: cv2.videocapture(0).release )很容易cap.release ) ) : )
2013-10-07 12:54:54