1、相机帧率和曝光时间的关系今天朋友在问我,为什么我们在使用工业相机的时候,将相机的曝光时间增加以后,相机的帧率就下降,而且下降得很厉害,相机的帧率和曝光的关系是怎样,如果想要获得固定的帧率,相机的曝光时间应该怎么设置?因此写下本文,解答了朋友的问题,也使用 Sentech 相机来做过相关的测试,帧率和曝光时间跟本文中所述一致。详细原理见下文所示:Exposure and Sensor Readout相机上的图像采集过程包括两个截然不同的部分。第一部分是曝光。曝光完成后,进行第二部分 Readout 过程即从传感器的寄存器中读出数据并传送出去(Readout 过程)。关于图像采集过程中,相机操作有
2、两种常见的方法:“non-overlapped”的曝光和“overlapped”的曝光。在非重叠(“non-overlapped”)模式中,每个图像采集的周期中,相机在下一个图像采集开始前,均要完成曝光/读出整个过程。如图 1 所示。Fig.1 Non-overlapped Exposure虽然非重叠(“non-overlapped”)的模式,可适合于许多情况下,但它并不是最有效的方式。为了提高相机的帧率,允许在下一帧图像开始曝光时候,将前一帧获得的图像数据读出并传送出去。相机“重叠”(“overlapped”)曝光的方式见图 2 所示。从图 2 中我们可以看到,相机读出数据和下一帧曝光开始出
3、现重叠的情况,在同一个时刻内,相机执行两个操作,导致在同样的单位时间内,在“overlapped”曝光模式下,可以采集到更多的图片,即相机的帧率更高。Fig.2 overlapped Exposure从上边两个图中,我们可以知道在“non-overlapped”的曝光和“overlapped”的曝光模式底下,一帧图像的周期存在着这样的关系:“overlapped”的曝光模式下: FramePeriod Exposure Time + ReadoutTime“non-overlapped”的曝光模式下:FramePeriod Exposure Time + Readout Time以 STC-A
4、202A 为例:图 1 Spec从 Spec 中可知,其 Pixel Frequency 为:36.8181MHz,所以 1Clock 的时间为1/36.8181Mhz =27.3836ns,接下来我们看相机的 Timing chart,首先先看HorizontalTiming,见图 2 所示:图 2 Horizontal Timing从图 2 中,我们从中可读到的信息为,1 CLK=27.1605 nseconds,和我们从spec 上得到的 Pixel Frequency 算出来的时间差不多。扫描 1Horizontal 需要1920CLK,即 1H =27.1605*1920 =5214
5、8.16ns=52.14816us接下来看相机 Vertical Timing 见图 3 所示:图 3 Vertical Timing从图 3 中,我们可读出的信息为,1H=52.1482useconds,和我们通过图 2 计算出来 horizontal Scanning 的时间一致,而在一帧图像中,需要扫描 1252H,其中 Effective Pixels 为 1220H,即 1 帧图像中,Effective Pixels Read out 的时间为 1220*52.1482 =63620.804us =63.620804ms,一个 VD 信号,所用的时间为:1252*52.1482=67
6、793.5464us =67.7935464ms。按照我们前边的理论,一个 cycletime 内,一帧图像的时间为:Frame Period = Exposure Time +Readout Time而我们知道 STC-A202A 的帧率为:15fps,即 1 Frame Period =1/15 =66.7ms。所以在“non-overlapped”exposure 模式下,ExposureTime = Frame Period Readout Time =66.7ms -63.6ms =3.1ms,在此模式下,若是超过 3.1ms 的曝光时间,其帧率就会比标准帧率 15fps 低。假如 1 颗相机 Readout Time 为:66.7ms,即数据传输时间为 A,A=66.7ms,曝光时间为 B,B=5ms,则一帧图像的时间为 C,则 C=A+B=66.7ms + 5ms =71.7ms,则这颗相机的帧率为:1000/71.7 =13.94FPS,则这颗相机的帧率为13.94.注意:一般情况下,若我们的相机的帧率为 15fps,则表示相机 ReadOut 数据的时间为 1000ms/15 =66.7ms