智能车讲座解读.pptVIP

  • 8
  • 0
  • 约6.19千字
  • 约 51页
  • 2016-03-12 发布于湖北
  • 举报
飞思卡尔智能车摄像头组 --软件设计 周 芳 2013.11 内 容 一 软件总体设计 二 图像采集 2.1 初始化算法 1.锁相环的设置 2.脉冲宽度调制(PWM)初始化 3.定时中断及输入捕捉通道的初始化 4.A/D转换模块初始化 5.外部中断(IRQ)的初始化 1.锁相环的设置 通过设置锁相环,可以改变单片机的时钟频率。如,在MC9S12单片机中,靠锁相环产生的时钟频率由下面的公式得到: 式中,OSCCLK是外部晶体振荡时钟频率,一般为8 MHz或16 MHz;SYNR是时钟合成寄存器;REFDV是时钟分频寄存器。 2.脉冲宽度调制(PWM)初始化 PWM是用于舵机和驱动电机的控制,比如,在MC9S12单片机中,其初始化主要包括以下六大步骤: 1) 禁止PWM; 2)选择时钟; 3) 选择极性; 4) 选择对齐模式; 5) 对占空比和周期编程; 6) 使能PWM通道。 3.定时中断及输入捕捉通道的初始化 定时中断及输入捕捉通道主要用于产生周期中断以进行速度采集,其初始化工作主要包括: 1) 设定预分频系数; 2) 定时器溢出中断使能; 3) 定时器使能。 4) 中断函数主要包括:清标志位;用户自己的代码。 4.A/D转换模块初始化 A/D转换模块主要用于视频信号的采集,将模拟的视频电压信号转换成对应的数值,以便于后面的黑线提取算法实现。 (数字摄像头无需转换) 5.外部中断(IRQ)的初始化 IRQ主要用于捕捉视频信号的行同步信号,产生外部中断以进行图像采集。 2.2 图像采集算法 考虑到实际赛道只是在白色KT板上布置黑色引导线,路径识别只需大致提取出黑色引导线即可,不必每行采集。因此,我们可以采用隔行采集思想来压缩图像的数据。 经实测,S12 单片机经过超频 80 MHz 以后,每场图像采集 30 ~40行数据、每行采到100~ 120 个像素点即可。 行数据在距离车辆前方 10 ~130 cm 的范围内均匀分布,每行像素点在赛道边缘采集较密集,而在赛道中间分布较稀疏。这样,可有足够的数据用于赛道识别,并使单片机资源得到充分利用,做到数据采集数量和处理速度的平衡。 假设每场采样40行图像数据,为了方便软件程序的编写,可以均匀地采样288行视频信号中的40行,即每隔7个有效行采集一行。例如采样其中的第7行、第14行、第21行、…、第273行、第280行,即采样该场信号的第29行、第36行、第43行、…、第295行、第302行(每场开始的前22行视频为场消隐信号)。 2.3 畸变校正 由于图像传感器对赛道进行拍摄时存在一定的角度,因此,传感器实际上是把一个梯形区域映射成为一个矩形,畸变校正的目的就是将原来的梯形还原出来。 畸变校正是一种坐标系的转换。考虑到图形从上到下基本是线性的畸变,所以可以将每行的点的横坐标加上不同的权重就可达到校正畸变的目的。 三 去噪处理 在摄像头质量、道路环境和光线等的影响下,实际采集到的道路图像质量是存在噪声干扰的。 3.1 邻域平均法 3.2 中值滤波法 四 二值化处理与断点连接 4.1 二值化原理 二值化处理就是对于输入图像的各个像素, 先确定某个灰度值为阈值, 当像素的灰度值超过该阈值时, 则将对应输出图像的像素值设为 1, 代表白点; 否则为 0,代表黑点。原理公式如下: 4.2 阈值分割法 阈值分割大致分为三类: a.只根据图像像素的灰度值 f ( x,y)来确定阈值,这样的阈值称为全局阈值。 b.阈值与图像像素灰度值 f ( x,y)及该像素邻域的某种局部性质 q ( x,y)都相关,这样的阈值称为称局部阈值。 c.如果该阈值与像素的灰度值 f ( x,y)、局部性质 q ( x,y)、坐标 ( x ,y)都相关,那么这样的阈值是动态阈值。 自适应局部阈值算法(参考) 动态阈值算法(参考) 4.3 边缘检测法 原理: 当外界光照改变程度较大时,图像中“亮点”和“暗点”的像素的灰度值也会随之有着较大的改变,但是,“亮点”和“暗点”像素灰度值的差值却变化不大。 根据点和点之间的差值大小判断边沿位置,差值小,说明两点都是高电平或都是低电平;差值大,说明两点之间电平发生跳变,即边沿存在。 如图所示,点i+3与i+4及i+6与i+7之间存在跳变边缘,其中点i+4、点i+5和点i+6为突变点,代表黑线。 自适应差分边缘检测算法 差分阈值、搜索范围、差值求取方法随着指引线左右边缘的存在情况改变。 一般的差分边缘检测算法只是搜索范围的变化,而自适应差分边缘检测算法还包括了阈值和差值求取方法的变化,这是自适应差分边缘检测算法的基本特征。 4.4 断点连接 赛道信息在某些行会有丢失

文档评论(0)

1亿VIP精品文档

相关文档