9crk

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk  发布于  2015-02-11 15:13:55
采纳率 0%
34个问答
7957

sensor在日光灯下闪烁的原理

[i=s] 本帖最后由 9crk 于 2015-2-11 15:16 编辑 [/i]

    Sensor在日光灯作为光源下获取图像数据时会产生flicker,其根本原因是照在不同pixel上光能量不同产生的,所接受的光能量的 不同也就是图像的亮度的不同。 

    由于CMOS sensor的曝光方式是一行一行的方式进行的,任何一个pixel的曝光时间是一样的,也就是同一行上的每个pixel的曝光开始点和曝光的时间都是一模一样的,

所以同一行的所有点所接收到的能量是一样的,而在不同行之间虽然曝光时间都是一样的,但是曝光的开始点是不同的,所以不同行之间所接受到的能量是不一定相同的。  为了使不同行之间所接受的能量相同,就必须找一个特定的条件,使得每一行即使曝光开始点不同,但是所接受的光能量是相同的,这样就避开了flicker, 这个特定的条件就是曝光时间必须是光能量周期的整数倍时间。 

   Banding由工频干扰引起,交流电光源都有光强的波动,在中国交流电频率是50Hz,光强的波动就是100Hz,周期10ms。如果camera曝光时间不是10ms的整数倍,那么在不同的感光面接收到的光能量一定不一样,体现在图像上就是有明暗条纹。   消除banding就得想办让曝光时间是10ms的整数倍!60Hz的交流电需要控制曝光时间为8.33ms的整数倍。  以50Hz为例说明,实现这个有两种办法:  1、设置曝光控制,强制为10ms整数倍变化,但是这样会浪费一部分曝光时间,导致曝光无法用满,在室内自然就会损失性能。  2、修改桢率,使每桢图像分到的时间是10ms的整数倍,则可以用满每桢曝光时间在,室内效果更好。修改桢率可以插入Dummy Line或者Dummy Pixel。这需要一点点计算,具体计算需要看sensor输出Timing。      例如把桢率设置为7.14fps,则每桢曝光时间是140ms。如果是15fps,则每桢曝光时间是66.66ms,如果强制曝光为10ms整数倍,最大即60ms,则有6.66ms无法参与曝光,损失性能。     具体调整桢率方法得和sensor的FAE沟通,每个sensor都可能不一样,不能一概而论。 调整桢率还有个原则要注意,预览一般不能低于 10fps,再低就很卡,常用14.3fps和12.5fps; 抓拍不能低于5fps,否则用手就很难拍出清晰的照片,常用7.14fps。桢率是一个权 衡折中的选择,高了曝光时间不够,暗光效果太差,低了没法拍照,容易模糊。

顺便分享一个这两天用到的UVC摄像头驱动控制曝光、白平衡、快门等参数的API文档。 http://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec-single/v4l2.html

我来回答
回答4个
时间排序
认可量排序

lsn2000

0个粉丝

0

问答

0

专栏

0

资料

lsn2000 2017-04-10 14:09:48
认可0
你的描述是不准确的,事实上只有曝光时间这一种办法是解决flicker的正确方法,修改帧率不能解决任何问题。

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk 2017-04-12 11:08:54
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48004&ptid=5457]lsn2000 发表于 2017-4-10 14:09[/url]
你的描述是不准确的,事实上只有曝光时间这一种办法是解决flicker的正确方法,修改帧率不能解决任何问题。[/quote]

1、设置曝光控制,强制为10ms整数倍变化,但是这样会浪费一部分曝光时间,导致曝光无法用满,在室内自然就会损失性能。
2、修改桢率,使每桢图像分到的时间是10ms的整数倍,则可以用满每桢曝光时间在,室内效果更好。修改桢率可以插入Dummy Line或者Dummy ixel。这需要一点点计算,具体计算需要看sensor输出Timing。  

上面说的很清楚了:修改帧率是辅助,使得曝光时间最大,在室内时图像更亮。

dsw2012218

0个粉丝

8

问答

0

专栏

0

资料

dsw2012218 2017-11-21 12:29:21
认可0
不错,学习了。

猪猪爱吃鱼

1个粉丝

3

问答

0

专栏

0

资料

猪猪爱吃鱼 2021-06-17 15:29:46
认可0

总算找到一个地方讨论这个,我之前遇到过30fps的时候曝光时间低于10ms导致flicker,但是后面将帧率调整到25fps后,曝光时间也低于10ms但是flicker固定住了,就是条纹不会滚动,一直没能弄清楚这里面的原因,不知可有前辈知道其中原理

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区