段纪丁 杜 爽 钟荣 崔 鹏
1. 西南科技大学工程技术中心智能机器人创新实践班,四川 绵阳 621010 2. 西南科技大学信息工程学院,四川 绵阳 621010
基于FPGA的图像处理系统的设计与实现
段纪丁1杜 爽2钟荣2崔 鹏1
1. 西南科技大学工程技术中心智能机器人创新实践班,四川 绵阳 621010 2. 西南科技大学信息工程学院,四川 绵阳 621010
本文基于中值滤波算法与改进的Sobel边沿检测算法理论,采用了SOPC技术,以FPGA为核心设计了图像采集系统,通过VerlogHDL语言实现了图像处理算法模块对图像进行预处理,实现了图像的除噪、干扰滤除以及边沿检测与传输,实现了上、下位机的同步显示,并且通过上位机上可以结合更多的图像识别算法,为实现更加复杂的图像处理奠定了基础。
FPGA;中值滤波;Sobel检测算法;H264压缩
算法;VerlogHDL
中图类分号:TP317.4
图像是人类获取信息的重要途径[1],随着数字图像技术的广泛应用,许多领域对图像的质量的要求越来越高,越来越多的图像处理的算法也在实际中得到应用,其中较为广泛的有中值滤波算法、Sobel图像边沿检测算法等。中值滤波算法是一种非线性空间滤波方法,对于脉冲干扰以及输入噪声有很好的处理效果[2],但是本身对图像边沿的检测效果不是很好。本文基于中值滤波算法和一种改进的Sobel图像边沿检测算法[3]相结合,提出一种对图像进行处理的综合方式,并且以Altera公司的FPGA为核心,通过VerlogHDL语言构建上述算法模块,根据实际设计了图像处理系统,经实际效果显示,该系统对于图像有很好的处理效果。
1.1 中值滤波算法原理[2]
中值滤波算法是图基(Turky)在1971年提出来的[4],通过定义大小为N*N的领域,根据领域(x,y)内的像素灰度进行排序,以该点的中值midde作为该领域的等效灰度值。中值滤波是一种非线性基于领域操作的处理算法,能够有效地处理图像信号中的噪声和干扰,中值滤波公式如下:
上式(1)中,g(x,y)表示在(x,y)处
经过中值滤波后的等效灰度值。在FPGA中利用VerlogHDL语言构建中值滤波算法模块。本文对由3*3方形窗生成的9个像素输出数据进行滤波处理。图1为中值滤波算法流程图,将窗口中的9个像素分为3组,分别对这3组中的最值min_of_max, max_of_min和med_of_med进行比较,最后得到等效像素灰度值midde。
图1 中值滤波算法操作流程
1.2 改进Sobel算法原理[3]及构建
经典的Sobel算法是通过在图像空间,利用两个方向模板与图像邻域进行卷积,最后通过与阀值TH进行大小比较后的结果来判断是否图像边缘,这样的方式只能检测两个方向的边缘,对于较复杂的图像就不具备高效性,并且仅根据与阀值的大小关系判断边缘点是欠合理的。
基于以上不足,本文采取改进后的Sobel检测算法,通过边缘跟踪的思想,检测水平、垂直、左对角、右对角等8个不同方向上像素点的灰度平滑性来识别图像边沿,并且,根据检测该点的梯度值与确定阀值TH进行比较,见表1,判断是否为边缘点。计算式如式(2):
表1 Sobel边沿检测算法改进前后效果对比
其中,grade(m,n)为像素点(m,n)对应的梯度值; Max(i,j)为(m,n)点8邻域
最大梯度值; 为控制因子。这种方式不但突出了对图像的边缘锐化, 而且有增强边缘对比值,为后期对图像位置的定位起到了重要的作用。图2为处理前后的效果对比图。
2.1 图像采集、处理与传输的工作流程
该系统采用CCD摄像头模块进行图像
信息的采集,由视频解码芯片SAA7113对采集的模拟图像信息进行数字化处理,并通过FPGA中FIFO内组成的数据帧存储在外部SDRAM中[6],并且利用编码芯片SAA7121对处理后的数字信息进行D/A转换,使之能够输出PAL制式的电视视频信号,并利用H264图像压缩算法对处理后的数据进行了压缩处理,整个操作流程如图3所示:
图3 系统的硬件组成结构框
2.2 图像显示效果对比
基于设计的硬件与软件模块,对一静物进行了图像采集测试,如图4得知,图4a经过无线传输在TFT屏上显示的比图4a具有少许的噪声,并且图4b的灰度、对比度均发生些许的变化,但是基本上与图4a显示的效果一样,达到了预期的目的。
图4 图像显示效果对比
本文结合计算机图像处理技术、通信技术和嵌入式自动控制技术,设计了由FPGA为控制核心的图像处理系统。通过构建图像处理算法模块,实现了对图像的处理,从实验显示效果图来看,可以看出该图像采集方案实现了图像的无误采集、存储与传输,在项目处理图像采集与传输过程中起到了很重要的作用,该系统已经应用在笔者所承担的项目中。
[1] 孙红亮 等,基于FPGA+ARM的高速计算机屏幕信息记录系统[M]. 电子技术应用,2011:38-39.
[2] 王德胜,康令州. 基于FPGA的实时图像采集与预处理[M]. 器件与应用,2010:32-33.
[3] 刘彩. 一种改进的Sobel图像边缘检测算法[J]. 贵州工业大学学报(自然科学版),2004:77-78.
[4] 陈燕,李亚萍,杨永双. 一种适合FPGA实现的中值滤波算法及软硬件协同仿真[J]. 华北水利水电学院学报,2010:79-81.
[5] 马利刚,马铁华. 基于FPGA的实时图像采集系统设计[J]. 计量与测试技术,2009:51-56.[6] 高超,须文波,孙俊. 新的强高斯噪声自适应滤波方法[J]. 计算机工程与应用,2011:154-156
西南科技大学大学生创新基金(项目编号:CX11-011)
10.3969/j.issn.1001-8972.2012.09.045
A
段纪丁(1989- ),男,在读本科生,西南科技大学工程技术中心智能机器人创新实践班,研究方向:自动控制、控制理论与控制工程。