DirectShow 控制摄像头曝光时间。

gulingali 2010-01-20 01:47:58
大家好!
现在市场上的民用USB摄像头,都是自动曝光的。场景亮,曝光时间短,帧率高,场景案,自动把帧率降下来,避免画面过暗。
请问各位大牛:如何关闭它的自动曝光功能?我就想设定一个固定值。使用 DirectShow 可以达到这个目的吗?
谢谢!
...全文
894 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fashionmany 2010-06-22
  • 打赏
  • 举报
回复
学习中。。。。。
gulingali 2010-02-03
  • 打赏
  • 举报
回复 1
恩,谢谢大家,我找到的方法和 jtujtujtu 一样,DirectShow 定义了这个接口,但是不要求厂商必须实现,我手里有4个摄像头,笔记本自带的摄像头可以调节,市面上买的罗技快看不行,飞盟的精钢S8 也不行。
to yinfuyong:曝光时间和帧率的关系不是反比的,帧率如果是30FPS,那么每帧的曝光时间不会超过33.33ms,但是可以更少,譬如1ms。曝光少,每帧进入镜头的光量就少,画面就越暗;曝光时间长,光量多,画面亮,但是景物晃动话,就拖尾了,我需要的是清晰无拖尾的像,即使暗一些也无所谓。
yinfuyong 2010-01-25
  • 打赏
  • 举报
回复
就算实现了把帧速降下来也会失真的 根本就不连贯

你用的摄像头帧速一般也就是20~30吧,没有必要降下来
jtujtujtu 2010-01-25
  • 打赏
  • 举报
回复 1
如果摄像头处理芯片的firmware不支持
是无法通过directshow来设置的
具体查看是否支持,可以用amcap、amcap2
选择好摄像头,显示图像后
选择 settings -> video capture filter... -> Camera control
看其中的 exposure 是否可以控制
如果可以,可以通过directshow中的IAMCameraControl interface 中的Set(KSPROPERTY_CAMERACONTROL_EXPOSURE,...); 来设置

如果不可,无法调节此camera 的 exposure time。
yinfuyong 2010-01-20
  • 打赏
  • 举报
回复
帧率一般是降不下来的,除非硬件可调,你的USB摄像头应该不幸。
用软件也只能是弃帧来降速
ssbelle 2010-01-20
  • 打赏
  • 举报
回复
对民用的摄像头了解不多
不过我猜 这需要摄像头驱动提供该功能才能设吧 如果硬件都不支持 软件怎么整都不行

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧