第五章 软件算法设计及实现
推荐给好友
打印
加入收藏
更新于2008-05-27 10:17:21


5.1 数据提取

        CMOS摄像头每场扫描时间为20ms,当扫描开始时,LM1881场同步信号传给PORTH口的0脚,产生一个PORTH的场中断。在场中断中,程序将开启IRQ行中断。当场消隐结束后,LM1881行同步信号传给IRQ脚。由于IRQ行中断已经打开,程序将进入IRQ行中断函数中。在IRQ行中断中,行计数器对行数进行累加,一直加到第10行才将AD转换中断打开。在AD转换中断中,程序将每个点对应的数值存储在一个14行24列的二维数组里面。在一场中所有行的所有点都采集完成之后,由定时器关闭IRQ行中断和AD转换中断。图5.1为数据提取流程图:
 

图5.1 数据提取流程图

5.2 数据处理

5.2.1 二值化
 

        在对CMOS视频传感器采集的视频数据进行二值化处理时,涉及到视频阈值的选择。视频阈值选择是否合适直接影响整个系统能否正常运行。 

        考虑到COMS传感器易受环境光线的影响,一开始我们在视频阈值的选择上采取自适应动态调整方式。该方式能够依据环境光线进行自动调整,为系统的提供可靠的二值化数据,也为系统能够稳定运行奠定基础。 

        视频阈值的具体实现方法为:在系统初始化时,采集一场数据,取这场数据的第一行与最后一行,将这两行数据的最大值与最小值进行加权,即可以得到系统初始时刻视频数据进行二值化的阈值。 

        然而在具体实践的过程当中我们发现,CMOS传感器在没有影子的环境下各点取值影响不大。于是在不降低系统稳定性的情况下,我们采用事先根据赛道环境设定阈值的方法来实现二值化。经过检测发现,采用事先设定阈值的方法能够很好的保持赛车的稳定性。 

        图5.2是图4.10进行二值化处理后的数据:
 

图5.2 二值化与去噪处理后的数据

5.2.2 边缘去噪 

        去噪处理在保持视频数据的正确性方面有着不容忽视的作用,也正是由于CMOS视觉传感器易受影子的干扰,增加了数据处理的复杂性。在本系统中,我们采取的去噪策略是取距离车体最近的数据,也就是第140行的数据作为参考数据。通过将该行中的0与1个数进行统计,然后存入一个二维数组。由于CMOS在本系统的最大视域宽为150mm,黑线宽为25mm,单片机进行对每行进行AD采集的点数为24个,那么代表黑线宽度点的个数为2个或3个或4个。由于摄像头在采集信号的过程中,最近一行的数据最稳定。因以此行作为整场数据处理的基础,再根据数据的连续性,来进行整场数据的噪声处理。具体算法如图5.7、5.8。
 
 
 

图5.7 视频数据一次去噪                          图5.8 视频数据二次去噪


 




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.