基于FPGA的图像处理系统的设计与实现

2012-11-15 06:46段纪丁钟荣
中国科技信息 2012年9期
关键词:图像处理灰度边缘

段纪丁 杜 爽 钟荣 崔 鹏

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.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 系统硬件结构[5]及处理结构

2.1 图像采集、处理与传输的工作流程

该系统采用CCD摄像头模块进行图像

信息的采集,由视频解码芯片SAA7113对采集的模拟图像信息进行数字化处理,并通过FPGA中FIFO内组成的数据帧存储在外部SDRAM中[6],并且利用编码芯片SAA7121对处理后的数字信息进行D/A转换,使之能够输出PAL制式的电视视频信号,并利用H264图像压缩算法对处理后的数据进行了压缩处理,整个操作流程如图3所示:

图3 系统的硬件组成结构框

2.2 图像显示效果对比

基于设计的硬件与软件模块,对一静物进行了图像采集测试,如图4得知,图4a经过无线传输在TFT屏上显示的比图4a具有少许的噪声,并且图4b的灰度、对比度均发生些许的变化,但是基本上与图4a显示的效果一样,达到了预期的目的。

图4 图像显示效果对比

3 结束语

本文结合计算机图像处理技术、通信技术和嵌入式自动控制技术,设计了由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- ),男,在读本科生,西南科技大学工程技术中心智能机器人创新实践班,研究方向:自动控制、控制理论与控制工程。

猜你喜欢
图像处理灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于ARM嵌入式的关于图像处理的交通信号灯识别
机器学习在图像处理中的应用
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我