主题 : Tiny6410 Linux下如何手动调整CMOS摄像头亮度?? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 73508
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
综合积分: 90 分
注册时间: 2012-07-10
最后登录: 2014-02-14
楼主  发表于: 2013-04-23 14:53

 Tiny6410 Linux下如何手动调整CMOS摄像头亮度??

V4L2摄像头问题,怎样控制摄像头亮度?
目前默认是自动调整亮度,自动调整的时间有点长,图像忽暗忽亮。
需做图像处理,严重影响图像识别效果,增加了后续的处理难度。

怎样取消亮度自动调整功能,手动去设置亮度,谢谢!
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
1楼  发表于: 2013-04-24 09:52
v4l2好像有接口可以调亮光的,你看看v4l2的api
级别: 新手上路
UID: 73508
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
综合积分: 90 分
注册时间: 2012-07-10
最后登录: 2014-02-14
2楼  发表于: 2013-04-24 12:01
V4L2 has no equivalent of the VIDIOCGPICT and VIDIOCSPICT ioctl and struct video_picture.
The following fields where replaced by V4L2 controls accessible with the VIDIOC_QUERYCTRL, VIDIOC_G_CTRL and VIDIOC_S_CTRL ioctls:

struct video_picture    V4L2 Control ID
brightness            V4L2_CID_BRIGHTNESS
hue                    V4L2_CID_HUE
colour                    V4L2_CID_SATURATION
contrast            V4L2_CID_CONTRAST
whiteness            V4L2_CID_WHITENESS

测试程序如下:
struct v4l2_control ctl;
ctl.id=V4L2_CID_BRIGHTNESS;
ctl.value=100;
ioctl(fd,VIDIOC_S_CTRL,&ctl);

运行时没有出错,但亮度没有变化,CMOS摄像头仍然会自动调整亮度。

继续请教????  
Tiny6410 Linux下如何手动调整CMOS摄像头亮度??
级别: 总版主
UID: 45585
精华: 3
发帖: 628
金钱: 3375 两
威望: 675 点
综合积分: 1316 分
注册时间: 2011-05-06
最后登录: 2018-10-18
3楼  发表于: 2013-04-25 12:14
没变化?那可能不支持亮度调节吧,你看看自带的CMOS程序是否有这个功能?