摄像头的工作原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摄像头的工作原理是:按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值,然后将此电压值通过视频信号端输出。具体而言(参见下图),摄像头连续地扫描图像上的一行,则输出就是一段连续的电压信号,该电压信号的高低起伏反映了该行图像的灰度变化。当扫描完一行,视频信号端就输出一个低于最低视频信号电压的电平(如0.3V),并保持一段时间。这样相当于,紧接着每行图像信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着又会出现一段场消隐区。该区中有若干个复合消隐脉冲,其中有个远宽于(即持续时间长于)其它的消隐脉冲,称为场同步脉冲,它是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。摄像头每秒扫描25 幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50 场图像。奇场时只扫描图像中的奇数行,偶场时则只扫描偶数行。

摄像头有两个重要的指标:有效像素和分辨率。分辨率实际上就是每场行同步脉冲数,这是因为行同步脉冲数越多,则对每场图像扫描的行数也越多。事实上,分辨率反映的是摄像头的纵向分辨能力。有效像素常写成两数相乘的形式,如“320x240”,其中前一个数值表示单行视频信号的精细程度,即行分辨能力;后一个数值为分辨率,因而有效像素=行分辨能力×分辨率。

值得注意的是,通常产品说明上标注的分辨率不是等于实际分辨率(即每场行同步脉冲数),而是等于每场行同步脉冲数加上消隐脉冲数之和。因此,产品说明上标注的“分辨率”略大于实际分辨率。我们要知道实际的分辨率,就得实际测量一下。

摄像头工作原理.jpg

摘要:本文基于freescale 16位HCS12单片机的输入捕捉功能设计一种视频信号采集系统。在该系统中,将CMOS摄像头的输出信号二值化,利用单片机输入捕捉功能实时对信号采样、处理,提取出黑色导引线的形状特征。实验证明:系统能很好地满足智能车对路径识别性能和抗干扰能力的要求,实时性好,测量精度高,同时硬件和软件的开销都比较小。

关键词:图像二值化;HCS12单片机;视频图像;比较器

引言

第二届“飞思卡尔”杯全国大学生智能车竞赛中,要求各参赛队赛车在规定的赛道上行驶,速度快者胜出。由于跑道只有黑、白两色,对图像的灰度没有要求,所以只需要反映反射光线的强弱。若用A/D进行采样,不仅软件设计比较麻烦,而且测量的精度和响应时间都不够理想,抗干扰能力也较差。本文摒弃传统的视频信号采集方法,结合单片机的输入捕捉功能,提出一种新的路径识别方法,并在实际系统中得到应用,实践表明该方法不仅使系统具有良好的性能,而且容易实现。

视频信号的特征

使用CHD-918B面阵CMOS摄像头,通过对内部电路的改造,可以在5V电压环境下正常工作,输出PAL 制式模拟视频信号,如图1所示。每秒扫描50场图像,一场又有312.5行,每行图像信号时间为64μs,除去行同步头,其中有效的图像信号约为59.3μs。所以,若选用S12的A/D转换器采集,转换耗时压力大,图像分辨率低。

系统设计思想

设计是于白色跑道和黑色导引线对光反射能力不同的设计思路,同时又结合单片机的输入捕捉功能模块来实现的。

根据竞赛的实际情况和要求,只需要在白色背景的跑道中提取出黑色的导引线,而与图像的灰度无关,通过分析摄像头输出信号的特点,利用比较器将视频信号二值化,进而把黑色导引线与白色背景区分开来,如图2所示。同时,由于导引线的宽度是恒定的,行扫描时间和同步头时间也是定值,通过软件简单编程就可以滤除环境干扰,达到不错的滤波效果。

鉴于MC9S12DG128是HCS12系列单片机的一种,片内设有增强型定时器(ECT),具有输入捕捉功能,可通过捕捉系统时钟脉冲来检测导引线。这样,计算单片机相应阶段内输入捕捉系统时钟脉冲的个数就能反映当前的路径信息。系统的实现如图3所示。

系统实现

视频信号同步分离:视频信号分离电路主要采用视频同步分离芯片1881,电路原理图如图4所示。先将经过预处理的视频信号通过一个滤波电路接至LM1881的2脚,为了滤除杂波,匹配阻抗,C4选取0.1μF,C2取510pF,R2取620Ω。1脚输出行同步信号,3脚输出场同步信号,在实际运用中,二者存在高频干扰,所以必须加上低通滤波器。

选行电路:在一场视频信号中共扫描312.5行,没有必要每一行都进行采样,只需要选择性的采集特定行,计算出跑道的大致形状,同时也为后续处理留出时间。该部分电路主要由一片二进制计数器74LS161实现,原理图如图5所示。对行使能信号控制行同步信号的开关,通过对拨码开关的设置,可对行同步2、4、8、16分频,选择采集不同的行。本文在调试过程中设置成4分频。

二值化电路

视频信号的二值化主要由芯片MAX941完成,通过调节滑动变阻器的阻值来改变阈值电压。经反复试验本文将阈值定在2.55V。防止黑色导引线的边界处出现毛刺干扰,在二值化输出端加上RC低通滤波电路。电路图如图6所示。

时序关系:在上述几个电路模块中,使用了门电路、计数器、比较器,使原有的时序关系发生了变化,后续编程处理和系统的可靠性受到挑战。在比较器的输出端加入两片非门,增大延时,情况得到改善。最后得到的时序关系如图7所示。其中a为场同步,b为行同步,c 是经过4分频后的行同步信号,d为二值化后的视频信号,包含着路径信息。

输入捕捉:MC9S12DG128单片机的外部晶振为16MHz,,由于输入捕捉寄存器为16 位,其计数值最大为65535,需要对系统时钟进行分频处理,设分配系数为a,其中

a=2-n,(n=0,1,2…7) (1)

则分频后的系统时钟可由(2)式得,

f1=f0×a=16MHz×2-3=2MHz (2)

即最小单位为0.5μs,对应的跑道采集精度,远处的分辨率为0.4cm,近处的为0.2cm ,完全符合路径识别的要求。输入捕捉的触发方式设置成任意沿捕捉,这样可以简化硬件电路的设计。以,仅仅需要计算几个沿变化之间输入捕捉系统时钟脉冲的个数,就能精准的反映当前的路径信。对应图2,BC段是黑线,DE段是同步头,AB与CD段反映的是左右视场边沿到黑线的距离,在后续处理中,可以利用这些信息方便的计算出跑道的曲率和斜率。由于黑色导引线的宽度是一定的,每行有效图像扫描时间都约为59.3μs,根据这些信息就可以剔除明显的坏点,增强系统得抗干扰能力。

软件实现:为了节约系统时间,在编程中主要采用中断处理,并且设置成上升沿触发。在场中断期间,先调用屏蔽场同步消隐子程序,把成像效果不好的部分滤除掉,随后打开行中断。当经过分频后的行同步头到来时,开始捕捉图像信号的4个任意沿,在相应两个沿之间,所捕捉到的系统时钟脉冲个数就反映了当前的路径信息。另外,为了消除偶然误差的影响,在不降低系统速度测量精度的前提下,通过使用软件上的循环队列算法,保证了路径信息的准确性。循环队列的具体实现过程为:通过设置一个长度为L的队列,每发生一次输入捕捉中断就进行一次入队操作,由队列“先进先出”的性质,即替换最先入队数据,能够保证将最新的刷新数据进行数据处理并进行控制,提高了控制的实时性。该系统部分软件流程图如图8所示。

相关文档
最新文档