一种使用CMOS探测器的工业相机的自动曝光方法与流程

文档序号:15466455发布日期:2018-09-18 19:25阅读:2399来源:国知局

本发明涉及一种使用CMOS探测器的工业相机的自动曝光方法。



背景技术:

自动曝光的目的是在不同的照明条件和场景中实现欣赏亮度级别或所谓的目标亮度级别,从而捕获的视频或图像既不太暗也不太亮。为了达到这个目的,要调整镜头孔径,传感器曝光时间,传感器模拟增益和传感器数字增益。这个过程称为自动曝光。

带有自动曝光功能的工业相机,一般采用统计探测器输出的经过量化的灰度值来判断光线的强弱,根据设置的阈值来判断曝光过度或者不足,从而通过调整探测器的曝光时间、增益等参数来完成自动曝光的功能。这里存在一个难点,就是自动曝光过程的收敛速度。



技术实现要素:

为了解决背景技术中的问题,实现了CMOS相机的自动曝光功能的快速收敛,本发明提供了一种使用CMOS探测器的工业相机的自动曝光方法。

本发明的具体技术方案是:

本发明设计出了一种使用CMOS探测器的工业相机的自动曝光方法,包括以下步骤:

【1】在光照固定的情况下,建立CMOS探测器中图像灰度值与曝光时间档位的数学关系,并将该数学关系输入至工业相机内,其具体数学关系式是:

其中,D0为图像的参考灰度值,E0为参考的曝光时间档位,D1为当前帧频曝光时间下的图像灰度值,E1为当前帧频的曝光时间档位,Emin为CMOS探测器允许的最小曝光时间的档位,Dmax为CMOS探测器饱和时输出的最大灰度值,Emax为CMOS探测器允许的最大曝光时间的档位;

【2】确定图像的参考灰度值D0;

参考灰度值D0的确定方式有两种:

A:用户根据工业相机的使用环境可以手动确定一个灰度值作为自动曝光的参考灰度值,记为D0,并将D0通过串行接口配置到工业相机中;

B:也可以使用工业相机默认参考灰度值,记为D0,此时不需要通过串行接口配置;

【3】确定当前曝光时间下的图像灰度值D1;

以E1为当前曝光时间档位工业相机上电拍照,获取N帧图像,N≥1,工业相机将奇数帧中每一帧图像中感兴趣区域的灰度值累加和记为D1,或者将偶数帧中每一帧图像中感兴趣区域的灰度值累加和记为D1;

【4】确定正确的自动曝光时间档位E0;

对步骤【3】中D1与步骤【2】中D0的进行比较:

情况一:当时,则认为自动曝光过程收敛,CMOS探测器中的正确自动曝光时间档位为E1,即就是E0=E1;

情况二:当或者时,则认为自动曝光过程不收敛,将D1代入公式(1)计算出下一帧图像的曝光时间档位E2,并将这个曝光时间档位E2设置成CMOS探测器的下一帧的曝光时间,重新执行步骤【3】和【4】,直至获得正确的自动曝光时间档位E0;

情况三:当D1始终无法满足收敛条件时,若图像过暗的情况下,E0值会算到超过Emax,CMOS探测器会将E0调整为Emax来作为CMOS探测器正确的自动曝光时间档位进行设置;

情况四:当D1始终无法满足收敛条件时,若图像过亮的情况下,E0值会算到0,CMOS探测器会将E0调整为Emin来作为CMOS探测器正确的自动曝光时间档位进行设置。

本发明的技术效果:

1、本发明采用图像灰度值和自动曝光时间档位成线性关系这一特点,使得CMOS探测器的自动曝光时间算法的收敛速度快。通常需要2个或者几个帧周期就可以完成收敛,这对于一台帧频几十帧/秒,或者上百帧/秒的工业相机来说,花费的时间是非常少的。

2、本发明针对不同的使用环境,可以重新设置自动曝光算法的参考值D0,环境适应性强,方法更加灵活。

3、本发明中相邻两档曝光时间的步长最小为CMOS探测器的工作时钟的周期。如果在当前稳定的光照条件下存在使自动曝光算法收敛的曝光时间,那么该方法就会计算出该曝光时间使算法收敛,避免了有些自动曝光方法由于调整步长过大而出现的图像明暗闪烁的现象,保证了自动曝光的准确性。

附图说明

图1为本发明图像灰度值与曝光时间对应关系曲线图。

具体实施方式

实现本发明方法的工业相机主要由CMOS探测器、FPGA芯片、以及CAMERALINK发送接口以及串行通信接口组成。CMOS探测器采用黑白的CMV2000芯片,FPGA采用Xilinx公司的Artix7系列的XC7A100T,CAMERALINK发送接口芯片采用DS90CR287,串行接口采用RS422接口,接口芯片采用MAX490ESA。

1、在实验室条件下,对CMV2000芯片对固定强度的光照条件下的曝光时间与输出图像灰度值之间的关系进行测试。得出实验结论,CMV2000探测器在光强固定的情况下,曝光时间与输出图像灰度值呈近似线性关系。且在不同的光强条件下都符合这个结论。这种关系经过简化之后如图1所示。

根据以上实验结论可以近似推导出图像灰度值与曝光时间的数学关系为

其中,D0为图像的参考灰度值,E0为参考的曝光时间档位,D1为当前帧频曝光时间下的图像灰度值,E1为当前帧频的曝光时间档位,Emin为CMOS探测器允许的最小曝光时间档位(可以为0),Dmax为CMOS探测器饱和时输出的最大灰度值,E2为CMOS探测器恰好饱和的曝光时间档位,Emax为CMOS探测器允许的最大曝光时间档位;需要说明的是:CMOS探测器的最小曝光时间为Emin*Tclk,CMOS探测器的最大曝光时间为Emax*Tclk,其中Tclk为CMOS探测器的工作时钟的周期,即如果CMOS探测器的工作时钟频率为20MHz,那么Tclk为50ns。

自动曝光要确定的参数是E0,即参考灰度值对应的曝光时间档位。根据图1和公式(1)可以看出,图像的灰度值与曝光时间在0≤E0<Emax和E0≥Emax两个区间是不同的。但是都可以通过一个公式来计算出E0,即

在区间0≤E0<E2时,利用公式(2)计算一次就可以算出参考灰度值对应的曝光时间档位E0。在区间E0≥E2时,利用公式(2)进行几次计算也可以算出参考灰度值对应的正确曝光时间档位E0,具体做法是:

2、工业相机根据的使用环境确定一个灰度值作为自动曝光算法的参考值D0,并通过串行接口将参考值配置到相机中,如果不配置参考值,相机将使用默认值作为参考值。

3、以E1为当前曝光时间工业相机上电拍照,获取N帧图像,N≥1,工业相机将奇数帧中每一帧图像中感兴趣区域的灰度值累加和记为D1,或者将偶数帧中每一帧图像中感兴趣区域的灰度值累加和记为D1;

4、判断D1与D0的关系,确定正确的自动曝光时间档位E0:

情况一:当时,则认为自动曝光过程收敛,CMOS探测器中的正确自动曝光时间档位为E1,即就是E0=E1;

情况二:当或者时,则认为自动曝光过程不收敛,将D1代入公式(1)计算出下一帧图像的曝光时间的档位E2,并将这个曝光时间档位E2设置成CMOS探测器的下一帧的曝光时间,重新执行步骤【3】和【4】,直至获得正确的自动曝光时间档位E0;

情况三:经多次计算之后,当D1始终无法满足收敛条件时,比如在图像过暗的情况下,E0值会算到超过Emax,这样自动曝光模块会将E0调整为Emax来作为探测器的曝光时间档位进行设置。

情况四:经多次计算之后,在图像过亮的情况下,E0值会算到0,这样自动曝光模块会将E0调整为Emin来作为探测器的曝光时间档位进行设置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1