基础:工业相机拍摄——产生拖影原因

一、工业相机拍摄产生拖影原因?

物体只要是运动的,拖影就一定会有的,为了使其不对检测产生显著影响,不同的项目类型,对拖影相对 长度的限制不尽相同。
对于尺寸测量的项目,拖影对测量精度会有严重影响。在这种情况下,就会要求拖影长度尽可能短,例如不超过1/3像素,或者不超过一个像素等。
1.对于识别、计数等相关的项目,对拖影的要求会相对宽些。
2.这些要求一般情况下如此,并非绝对,具体看实际情况需要。
运动速度和曝光时间是直接影响拖影的两个因素。为了保证图像中的拖影不超过s单位像素,则需要做到如下等价说法:
1、芯片上光学像在曝光时间内移动的位置不超过s单位像素;
2、物体与成像系统之间在曝光时间内相对移动(垂直于光轴平面内)距离不超过s单位的系统精度。

二、详细计算拖影和精度要求之间的关系:

拖影对飞拍不造成影响的条件为:曝光时间 * 物体运动速度 ≤ 运动方向精度需求

三、解决问题

例如:相机现在的曝光时间是2000us,传送带运动的速度是 100 mm/s ,使用的相机分辨率为 2448∗2048,视野范围是 300mm ∗ 250 mm,物体运动的方向是水平方向,精度要求拖影不超过 1/2 像素。此时的场景能满足飞拍要求吗?

曝光时间物体运动速度=100(2000/1000000)=0.2mm
水平方向像素精度要求为=300/2448
1/2=0.061mm
由于 0.2 mm > 0.061 mm ,所以无法满足此飞拍运动场景的精度要求。

根据上面的公式我们就有了两种解决办法:

(a)降低相机的曝光时间

根据上面例子继续计算,0.061 m/100 mm/s = 0.00061 s = 610 us
所以曝光降低到 610us 以下时,拖影就不会超过1/2 像素,精度就能够达到要求。但是注意,降低曝光后需要加强光源亮度或调大光圈来让图片达到同一亮度。

(b)降低传送带的运动速度

同理根据上面的例子继续计算,0.061 mm/2000 us = 0.0000305 mm/us = 30.5 mm/s
所以传送带速度降低到 30.5 mm /s 时,拖影就不会超过1/2 像素,精度就能够达到要求。

飞拍的拖影与被拍摄物体的运动速度、曝光时间强相关。除此之外,还可能与图像传感器(Sensor)有关系,一般来说,Sensor 在进行电荷读出过程中,同时也还是在接收外部光信号的输入,形成寄生光电荷,通常用寄生光灵敏度(Parasitic Light Sensitivity,缩写为 PLS)来表征。一旦 PLS 足够大,当前帧读出阶段所产生的寄生光,可能会在下一帧图像中形成影响,如边缘阴影或者过渡带。

PLS 的问题无法根除,一般有两种方式减弱:
1.通过与机械快门的同步配合,通过减少读出阶段的进光量来减弱
2.选择PLS 小的全局快门Sensor

三、实际问题

       最近做的机器视觉项目需要相机运动拍摄,结果速度稍大以后就无法识别,保存图像有拖影。现在把问题解决思路记录下。
  一开始怀疑相机不支持动态拍摄,后来知道全局曝光的相机基本都是可以动态拍摄的。这里涉及全局曝光和卷帘曝光的概念,CCD相机都是全局曝光,而CMOS相机有全局曝光和卷帘曝光两种,卷帘曝光是逐行曝光,存在拖影,拍摄运动物体不行,所以问题不在这里。
      后来发现是曝光时间的问题,这里比较容易忽略。关于曝光时间的问题:相机上的图像采集过程包括两个截然不同的部分。第一部分是曝光(exposure)。曝光完成后,进行第二部分即从传感器的寄存器中读出数据并传送出去(Readout)。曝光时间越长,拍摄速度越慢,但是曝光时间短了以后,进光量少了,这时候需要调大光圈,增加光照,才能保证图像的亮度。检查发现我们用的相机默认的曝光时间是127,这个数经过多次试验改成了10(同时光圈已经达到最大),此时手持相机抖动还是能够清晰拍摄,效果稳定。附上Linux下调整相机曝光时间方法:
  先装一个工具 apt-get install v4l-utils
  然后执行 v4l2-ctl –d /dev/video1 –c exposure_absolute=10
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容