(4) 电子快门[16]:电子快门用来控制芯片从开始到结束的电荷积分时间。由于CCD芯片暴露在光线下,即使把电荷转移也还会有电荷累积。因此,如果被测的是运动目标,就会产生常说的Smear(拖影)现象。CCD是用行间转移(ILT)的方式解决电荷累积问题的,每个像素被分为感光区和电荷转移区,电荷转移区不感光,这样在曝光结束时先将电荷一次性转移到转移区,再读出,这样读出过程就没有电荷积分,不会产生因目标运动而引起的Smear现象。但显然ILT方式减少了像素的感光面积,降低了灵敏度。这时,通常在像素上增加微透镜来收集更多的电荷。
CMOS芯片上电荷都是在每个像素上读出的它的电子快门分Rolling shutter和Global shutter两种,Rolling shutter通常采用的都是3T像素结构,每次仅能对一行像素进行曝光控制,即一行曝光后再对下一行进行曝光。Global shutter的芯片需要具备5T的结构,使整幅图像所有像素同时开始和结束曝光。但5个光电二极管的结构同样减小了感光面积,这也可以通过增加微透镜的方式来弥补。
(5) 帧率[3]:对CCD感光器而言,高速是在像素分辨率、噪声、功耗之间的平衡。多通道可以在一定程度上解决读出速度的问题,将图像分成多个区域,分别用读出放大器读出,再进行拼合。
对于CMOS芯片而言,以单个像素为单位将电荷转化为电压,读出放大器就不再需要提高速度来支持更高的帧率。因此,CMOS芯片更易获得更高帧率。
从以上的描述中我们不难看出,选择CCD相机还是CMOS相机取决于具体的应用。而本次毕业设计需要使用到的型号为BB-141GE的JAI相机,它采用的是逐行扫描CCD传感器,比较适合室外的环境。
1.3 主要工作
本毕业设计的主要工作分为5部分,分别是对VS2010编程环境的熟悉,对在VS2010下MFC编程应用的学习,完成程序的环境配置,图像采集程序的编写,以及参数选取的研究。
VS2010的入门还算差强人意,虽然之前使用的都是VC,Delphi等,但是通过观看从网络上下载的教学视频,自己也从图书馆借来一些关于VS编程的书,按照书上的样例实践过几次,并且在遇到不明白的地方请教了其他同学,令我慢慢熟悉了VS2010。本次毕业设计也是对在VS2010环境下,利用MFC编程开发图像采集程序的一个初步探索。
实现JAI相机图像采集程序需要作很多的硬件和软件工作,通过本毕业设计,本人参考阅读了大量的关于CCD和CMOS相机的资料以及图像采集处理的C++源代码,对图像采集处理有了一定的理解,会熟练使用MFC开发环境,对C++语言编程开发和多线程编程有深入的理解和掌握。文献综述
1.3.1 课题的目的
开发一个利用JAI相机来实现图像采集功能,并且能够对图像进行实时预处理的程序。
1.3.2 课题的任务
(1) 相机图像的采集和存储;
(2) 相机参数设定和参数的研究
(3) 相机参数自动选取的研究
1.3.3 任务要求
(1) 通过相机厂商提供的底层驱动实现图像采集和存储;
(2) 能够通过对采集图像的分析进行参数的调整;
(3) 尝试对采集的12位原始图像进行分析,以满足特定应用(如强光下目标检测)的图像质量需要。
1.4 本章小结
通过本章的叙述,我们已经对CCD相机以及CMOS相机有了初步的了解,并且通过对这两种相机的比较我们总结出利用CCD相机来实现图像的采集以及实时参数的调整是具有重大意义的,因此本次毕业设计就顺应潮流,来开发一个JAI相机的图像采集程序,并且能够进行实时的参数的调整。从本次毕业设计的主要工作的描述中我们也感觉到了想要完成这么一个图像采集程序的话,任务还是是相当繁重的,因为是专门针对JAI相机,这完全是一个全新的领域,我还需要花十分多的时间去摸索去熟悉这个全新的家伙,任重而道远!源.自/751·论\文'网·www.751com.cn/