您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 基于智能车上的图像采集与处理
基于智能车上的图像采集与处理摘要:本文以面阵CCD摄像头作为图像传感器进行数据采集,以MC9S12XS128作为主处理器进行数字图像处理。利用LM1881将视频信号进行分离处理;利用TLC5510高速AD将模拟视频信号进行采集和量化。在图像预处理中,利用直方图求出动态阀值将图像二值化和中值滤波算法进行图像的滤波,并且在黑线提取中提出根据不同边线的特点运用了不同的插值算法。通过多次实验证明,该算法具有良好的鲁棒性、可靠性和实时性。关键字:图像处理;图像采集;CCD摄像头Abstract:basedonthesurfaceofCCDcameraasimagesensorsfordataacquisition,withMC9S12XS128asthemainprocessorfordigitalimageprocessing.UsingLM1881separatethevideosignalprocessing;UsingTLC5510high-speedADanalogvideosignalacquisitionandquantification.Intheimagepreprocessing,theuseofhistogramanddynamicthresholdimagebinarizationimagefilteringandmedianfilteringalgorithm,andputforwardaccordingtothecharacteristicsofthedifferentmarginsintheblacklineextractionusingdifferentinterpolationalgorithm.Throughtheexperimentsprovethatthealgorithmhasgoodrobustness,reliabilityandreal-timeperformance.Keywords:imageprocessing;Imageacquisition;TheCCDcamera引言识别路径是智能汽车实现自动化的基础。目前,已有利用各种MCU作为处理器进行智能小车的设计。但是居于飞思卡尔智能汽车竞赛规则的限制,本文以飞思卡尔公司的MC9S12XS128处理器作为该智能车的处理器进行数据处理。由于该处理器的工作频率与内部存储空间的限制。本论文研究的图像处理算法主要是基于能满足飞思卡尔智能车竞赛摄像头组对赛道图像进行路径识别的前提下,尽量减少算法的空间复杂度和时间复杂度。实现快速、高效地将采集回来的视频图像进行处理,为摄像头组的智能车稳定地运行打好了充实的基础。1图像采集系统的硬件组成标准PAL视频信号的组成:摄像头每秒扫描25幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50场图像。标准PAL视频信号由复合同步信号,复合消隐信号和视频信号。其中的视频信号才是真正的图像信号,对于黑白摄像头,图像越黑,电压越低,图像越白,电压越高。其中视频信号包含两场图像信号,分为奇场和偶场。由于面阵CCD摄像头是以隔行扫描的方式采集图像上的点,故奇场只包含奇数行的图像信号,而偶场只包含偶数行的图像信号。当扫描完一行,视频信号端就输出一个低于最低视频信号电压的电平,并保持一段时间。它是扫描换行的标志。同时在场信号结束后又会出现低于最低视频信号电压的电平,并保持一段时间。其中本次持续的时间比换行时持续的时间要长,作为扫描换场的标志。1.1视频同步信息分离芯片LM1881LM1881是目前广泛应用的视频同步信息专用分离芯片(图1-1.1),它有多种封装形式,仅有8个引脚。下面介绍几个关键引脚。图1-1.1LM1881电路连接图引脚1:行同步信号输出端。引脚2:视频信号输入端。引脚3:场同步信号输出端。当摄像头信号的场同步脉冲到来时,该端将变为低电平,一般维持230us,然后重新变回高电平。引脚7:奇偶场输出。用高低电平表示当前是奇场还是偶场。当摄像头信号处于奇场时,该端为高电平,当处于偶场时,为低电平。LM1881正常工作时的时序图如图所示:图1-1.2LM1881部分时序图1.2视频信号模数转换芯片TLC5510TLC5510是美国德州仪器(TI)公司生产的8位半闪速结构模数转换器,它采用CMOS工艺制造,可提供最小20Msps的采样率。由于TLC5510不仅具有高速的A/D转换功能,而且还带有内部采样保持电路,从而大大简化了外围电路的设计;同时,由于其内部带有了标准分压电阻,因而可以从+5V的电源获得2V满刻度的基准电压。可广泛用于数字TV、医学图像、视频会议、高速数据转换等方面。TLC5510电路连接图如下图所示:图1-2.1TLC5510电路连接图其中,D1-D8引脚分别接MC9S12XS128的P0-P7引脚。并将P0-P7该8个引脚设为输入捕捉的模式进行采集经过量化的视频信号。由于TLC5510最小的采样率为20Msps并且可以稳定工作,故不仅可以满足赛道信息采集的要求而且采集回来的信息具有较高的分辨率。2图像处理软件部分由于从CCD摄像头直接采集和量化后的图像可能包含椒盐噪声等干扰。同时考虑到MC9S12XS128的工作频率不是很高,图像处理速度较慢,所以我们采取了隔行采集赛道图像,隔像素采集的方法,为了进一步提高采集速度,除了尽量避免使用浮点运算,减少单片机负担。为了的到正确的赛道信息,要将采集回来的图像进行相关的处理。如滤波、二值化、平滑、插值等处理。滤波我们采用了中值滤波算法,中值滤波作为一种典型的非线性滤波方法,能够在衰减随机噪声。为了不使边界模糊,只采用了1*3的掩膜进行滤波,能较好地保护原始信号,在灰度值变化比较小的情况下可以起到很好的平滑处理。从而确保智能车能够稳定地运行。图像处理软件大致流图如下图所示:图2-1.1图像处理软件大致流图2.1改进中值滤波开始改进的中值滤波二值化寻中线平滑中线结束中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。其中对滤除椒盐噪声的效果较好。标准的中值滤波是:在要排序的元素集合中任意选取一个元素,并将它与相邻的元素进行比较,将所有比这个元素小的元素都放在它之前,将所有比它大的元素放在它之后;经过一次排序之后,可按该元素所在的位置分界,将集合分成2个部分;然后对剩下的2个部分重复上述过程进行排序,直到每一部分只剩下一个元素为止;当所有排序完成后,取排序后的集合中位于中间位置的元素的值作为输出值,即输出整个集合中的中值。基于标准中值滤波的思想,考虑到MC9S12XS128的处理能力有限,我们对标准的中值滤波进行了改进。大致思想如下:在采集回来的二维图像数组中,利用1*3的掩膜进行每个像素点进行滤波(边缘点除外),滤波后的值直接在原二维数据里面更改。同时,紧接下一次掩膜移动的像素点直接用上一次滤波后的值来比较。据此来求出下一次像素点的灰度值。对于边缘上的像素点直接保留原来的灰度值。针对于改进后的中值滤波,无论是在空间复杂度上还是在时间复杂度上来看,都比标准的中值滤波要小。而且滤波后的效果与标准的中值滤波的效果相差不大。满足了正确提取赛道信息的要求。2.2二值化二值化是指将数字图像的灰度值从8个灰度级转换到1个灰度级。这样有利于接下来的寻中线有很大的帮助,避免了错误识别边线的情况。其中,二值化有静态阈值二值化和动态阈值二值化。据与动态二值化有较强的环境适应能力,将依赖光线的均匀度降低,所以我们选用了动态二值化,提高了车子对环境的适应能力。二值化的阈值可以有很多种方法可以求得,其中直方图是较为有效的方法。标准直方图均衡化的思想,将整幅图像的像素点的灰度值进行求和处理,同时统计与各个灰度值中像素点的个数。改进后直方图求阈值的思想,我将其称为限幅直方图求阈值的方法。大致思想上,根据标准PAL视频信号的电压值的特点,一般处于0.5V-2V之间,只统计在这个范围之内的灰度值个数和进行灰度值求和。除此之外,实验发现由于摄像头采集远处的像素值会偏高而近处的像素值偏低,在整个范围内呈线性关系。故只需该幅图像中间20行的像素点的灰度值处理就可以求出较准确的阈值。下面为统计各灰度值像素点之后进行处理的部分代码:for(i_fa=40;i_fa=240;i_fa++){t_fa+=zhifang[i_fa];u_fa+=i_fa*zhifang[i_fa];}k2_fa=(uint8)(u_fa/t_fa);经过多次实验证明:经过阈值k2_fa二值化的图像基本与实际赛道的图像相同(梯形失真除外)。能够有效地为车子提供正确的路径。2.3寻赛道中线基于上面对所采集回来的图像进行处理后,图像基本已经能够明显地分辨出赛道两边的黑线。按第一行(即最近行)从中间网两边找,其他行在上一行的基础上减去一个常量,在判断该像素点是白点还是黑点。根据赛道的规律再决定该往中间找还是往两边找。这样能够有效的节省了寻中线的时间,达到了减少了算法的时间复杂度的目的。对于直道、弯道和十字交叉弯需用到不同的求中线的方法。针对不同赛道需做一下处理:当车子行驶于在直道时,按两边中线的坐标求平均值就可以得出对应的中线;当车子行驶于在弯道时,按所找到的边线加上对应的偏移量得出对应的中线;当车子行驶于在十字交叉弯时,根据前面或则后面的找到的边线用最小二乘法求出中间全部为白点对应行的中线。下面为最小二乘法补线的部分代码:voidFinishLine(uint8r1,uint8c1,uint8r2,uint8c2,int8prow[])//r--rowc--col{uint8p,pA,pB,pC,pr1,pr2,pc1,pc2;for(p=r1-1;pr2;p--){pr1=r1-(uint8)((r1+r2)/2);pr2=r2-(uint8)((r1+r2)/2);pc1=c1-(uint8)((c1+c2)/2);pc2=c2-(uint8)((c1+c2)/2);pB=(uint8)((pr1*pc1+pr2*pc2)/(pc1*pc1+pc2*pc2));pA=(uint8)((r1+r2)/2)-pB*(uint8)((c1+c2)/2);pC=(uint8)((p-pA)/pB);prow[p]=pC;}}通过上述的处理后,基本所有赛道的中线都能够提取出来。但是基于有些地方的中线可能受到某些外界因素的影响。下面还需对所求出的中线进行平滑处理。同时也会起到求出较短路劲的效果。对于平滑中线的方法,限于单片机处理的能力,利用1*3的滑动窗口进行均值平滑处理。经过以上几个步骤处理后,各类赛道图像如下图所示,可以明显看出具有良好的效果。图2-3.1小S弯的图像图2-3.2大C弯的图像图2-3.3大弯进十字交叉弯的图像3实验结果与分析该智能小车采用面阵CCD的模拟摄像头和飞思卡尔MC9S12XS128微控制器组成的图像采集系统,该图像采集系统电路设计合理的同时提高了数据采集的速率,可采集完整准确的图像信号,运用了改进后的滤波算法、改进后的二值化算法、最小二乘法、平滑算法之后,并不影响系统的运行速度,同时提高了车子抗干扰能力和定位精度,加上控制算法之后能够让车子稳定地在赛道运行。参考文献:[1]数字图像处理(第二版)(美)冈萨雷斯等著,阮秋琦电子工业出版[2]胡庆华谢林菲刘学山图像采集与处理在智能车系统中的应用电子产品世界[3]嵌入式系统设计实战:基于飞思卡尔S12X微控制器王宜怀曹金华北京航空航天大学出版社
本文标题:基于智能车上的图像采集与处理
链接地址:https://www.777doc.com/doc-2575448 .html