新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DSP Builder的行车道检测的实现

基于DSP Builder的行车道检测的实现

作者:时间:2008-12-05来源:网络收藏

  通过对摄像头读入的道路白线图像进行灰度变换,再检测出白线的边缘,这是实现智能车自动导航和辅助导航的基础。系统可以应用于智能车的防撞预警和控制。该系统设计重点是边缘检测电路的设计。边缘检测电路包括图像输入缓冲电路、垂直方向的边缘检测电路、水平方向的边缘检测电路及对两部分检测的组合,最终通过阈值选择形成二值边缘图像。传统的方案大多采用单片机电路实现,设计流程和系统调试都比较繁琐,开发周期长。在实时中,由于处理速度要求较高,因此用以前的方法很难达到要求。实时常常需要对图像进行求和、卷积、边缘提取、图像分割及特征提取等不同种类、不同层次的处理。对于一些运算结构简单,但要处理大量数据的算法一般采用FPGA芯片来实现。通过FPGA实现信号处理可以取得出色的系统稳定性,提高控制精度,还可以大大减少开发周期,使设计人员的设计自由度加大。本文采用Altera公司的Cyclone EP1C6作为主控芯片,利用Altera公司推出的数字信号处理开发工具 Builder作为设计平台,通过 Builder SignalCompiler模块读取由 Builder和MegaCore模块构建的Simulink建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真,从而完成对整个道路边缘检测系统的设计。

  1 系统构成及边缘检测原理

  本系统中的主要模块是进行二维卷积操作的sobel边缘检测模块,它相当于硬件的协处理器。该系统从CF卡读入数据到边缘检测模块,使用Nios II控制数据流,采用DMA控制器在外部存储器(SDRAM和SRAM)之间传递数据,这些外部存储器相当于中间图像数据缓冲器。系统结构如图1所示。

  边缘是指图像中像素灰度有阶跃变化或屋顶状变化的那些像素的集合。它对图像识别和分析十分有用,边缘能勾划出目标物体轮廓,使观察者一目了然。边缘包含了丰富的信息(如方向、阶跃性质 、形状等),是图像识别中抽取的重要属性[1]。微分运算有加强高频分量的作用,从而使图像轮廓更清晰。对于数字图像,微分可用差分近似代替,沿x和y方向的一阶差分可分别表示如下:

  一阶差分增强是有方向性的。为了增强图像中间任何方向伸展的边缘和轮廓,希望对图像的某种导数运算是各向同性的,而梯度运算恰具有各向同性特性。对于图像f(x,y)点上的梯度可定义为矢量:

  梯度幅度具有各向同性或旋转不变性,而且给出了该像素点灰度的最大变化率。采用微分锐化图像,会使噪声、条纹等得到增强,这在中会造成伪边缘和伪轮廓,为此对锐化算子进行了各种改进。Sobel算子就是其中一例,它在一定程度上克服了上述问题。Sobel算子的基本思想是:以待增强图像的任意像素(i,j)为中心,截取一个3×3的像素窗口。分别计算窗口中心像素在x和y方向上的梯度[2]。Sobel算子的表达式如下:

  Sx=

  增强后图像在(i,j)处的灰度值为:


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭