您好,欢迎来到星星旅游。
搜索
您的当前位置:首页基于FPGA的Sobel图像边缘检测算法

基于FPGA的Sobel图像边缘检测算法

来源:星星旅游
第43卷第6期

2016 年 12 月

科技

Applied Science and Technology

应 用

V〇1.43 Nq.6Dec. 2016

D01:10.11991/yykj.201511014

网络出版地址:http://www.cnki.net/kcms/detai1/23.1191.U.20161127.0907.016.htm1

基于FPGA的Sobel图像边缘检测算法

刘博峰,郜丽鹏

哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨

150001

摘要:数字图像处理主要是对图像像素进行处理,由于像素众多,因而图像处理需要消耗大量时间,而FPGA并行性、 实时性等优点可有效弥补这一缺点。文中主要介绍如何用FPGA来实现图像的Sobel边缘检测算法,并同Matlab联合仿 真,验证FPGA图像处理的可靠性,最终得到让人满意的处理图案。关键词:FPGA; MATLAB; Sobel;图像处理;边缘检测中图分类号:TN911.73 文献标志码:A 文章编号:1009-671X(2016)06-059-03

Sobel image edge detection method based on FPGA

LIU Bofeng, GAO Lipeng

College of Inlormation and Communication Engineering, Harbin Engineering University, Harbin 150001, China

Abstract : Image pixels are mainly processed in digital image processing. Due to the large number of pixels, the im­

age processing costs a lot of time. The advantages of FPGA, such as parallelism, real-time, can effectively compen­sate this shortcoming. This article describes how to use FPGA to implement Sobel image edge detection algorithm, by verifies the reliability of FPGA image processing by co-simulation with Matlab, and finally obtains a satisfactory processing pattern.Keywords:FPGA; MATLAB; Sobel; image processing; edge detection

边缘检测是图像处理和计算机视觉的基本问

式,图像的平滑、锐化、细化和边缘检测等基于领域 计算的图像处理算法都运用到模板操作。模板操作

使用1个窗口,这个窗口可以是1个点(origin)周围 的特定长度或形状的领域,来计算图像算法的输出。 比如一个3x3的方形窗,而模板卷积就是将图像模 板下的像素与模板系数的乘积求和操作[3-4]。

文中的设计就是基于3x3模板,用模板和模板 卷积来研究图像预处理算法的FPGA实现。我们用

题,是图像特征提取的一个研究领域,图像边缘含有

图像丰富的特征信息,在图像分析和处理中有重要 的意义。图像边缘指的是图像亮度变化明显的点, 图像属性的明显变化表明了事件的显著变化。图像 边缘检测剔除了不相关信息,减少了数据量。在实时图像处理中,图像边缘检测有很多种算 法,一阶的主要有Sobel算子、Prewitt算子,二阶的 主要有Canny算子、Laplacian算子,文中主要介绍

Sobel算子。在实时图像处理中,对时间要求很高, 因此软件应用太局限,基于FPGA的图像处理有实

时性、并行性等优点,非常适合于图像处理[1]。

文中论述了 Sobel算子的原理,如何用FPGA实现 图像的3x3矩阵,用FPGA实现Sobel算子滤波[2]。

1模板和模板卷积操作

模板操作是数字图像处理中常用的一种运算方

ISE软件自带的Shift Ram以及Reg型寄存器构成

图像3x3矩阵,使用2个Shift Ram形成图像的行缓 存,假如图片的格式为200x200的8位灰度图像,那 么设计Shift Ram时,可设计其存储深度为197。

ISE中的Shift Ram学名叫做移位存储器[5],与 传统的先人先出队列(FIFO)不同,FIFO需要设置 使能为1才可以开始移位,ISE的Shift Ram随着时

钟上升沿到来,可以自动移位,方便、快捷、不繁琐, 非常适用于数字实时图像处理[6-7]。方法如图1所示。

收稿日期:2015-11-19. 网络出版日期:2016-11-27.

作者简介:刘博峰(1991-),男,硕士;

郜丽鹏( 1972-),男,教授.

通信作者:部丽鹏,E-mail:gaolipeng@ hrbeu.edu.cn.

ISE生成矩阵

• 60 •应 用科技第43卷

文中使用的语言是Verilog HDL;FPGA使用型 号为Xilinx公司的XC6SLX100;输人图像协议为标 准的Camera Link协议;输人图像为8位Lena灰度图 像。输出的图像结果与上位机进行通信,将图像数 据传给上位机,将上位机接收的数据进行处理,获得 处理后的图像。

将输人图像,通过行缓存,对图像进行3x3模 图1

ISE生成矩阵方法

2 Sobel边缘检测算法原理

Sobel算法主要用作边缘检测,在技术上是一离

散性差分算子,用来运算图像亮度函数的近似值。 在图像的任何一点使用算子,将会产生对应的灰度 矢量或是其法向量[8-10]。

该算子包含2组3x3的矩阵,分别为横向及纵 向,将之与图像作平面卷积,即可分别得出横向及纵 向的亮度差分近似值。如果以^4代表原始图像,^及分别代表经横向及纵向边缘检测的图像灰 度值,如式(1)、(2)所示。

_-10 1\"

Gx

-

-20 2

xA(1)

_ -10 1 _

G_ -1- 2 -1\"y-

00 0

x A

(2)

1

2

1图像的每一个像素的横向及纵向灰度值通过式⑶结合,来计算该点灰度的大小:

+^y (3)

通常为提高效率使用不开平方的近似值,但这 样做会损失精度,迫不得已的时候可以做如下处理:

^ + ^y得到G后进行阈值比较,即将阈值与给定值进 行比较,如果梯度G大于给定值,可以认为是边缘 点。将该值置为255,否则为0。

3 FPGA实现Sobel边缘检测

FPGA处理流程如图2所示。

图2

FPGA处理流程

板梯度计算求出^。设生成的3x3模板的元素数据为尸11、尸12、尸13、尸21、尸22、尸23、尸31、。2、尸33,则计算

出^的值为

Gx -(尸13 + 尸 23 +。

3) - ( W。1)

为了防止产生负值,FPGA还需要花费一个周

期,得出Gx的绝对值,使Gx永远为正值。同样的方

法求出Gy。

由于FPGA的并行性,因此可同时得出Gy的 值,因此FPGA会花费2个周期得出Gx、Gy的绝对 值。在第3个周期求出Gx、Gy相加值,在第4个周 期进行阈值比较,得出实验结果,将得出的数据传给上位机后进行处理,生成FPGA边缘处理后的实验图像。

4 FPGA仿真结果

输人原始灰度图像,用

FPGA对图像进行处理

结果如图3、4所示。

(a)恒星原始图像

(b) FPGA滤波图像

图3光滑物体灰度原始图像与边缘检测效果

第6期

刘博峰,等:基于FPGA的Sobel图像边缘检测算法

• 61 •

处理的方法,FPGA实现Sobel图像边缘检测的详细 步骤以及仿真图。该设计利用FPGA的并行性、实 时性等优点,功能模块可重复利用,移植性强,同时 占用的FPGA资源较少,在此原理上可在FPGA上 尝试并实现更为复杂的算法。

参考文献:

(a)飞行器原始图像

(b) FPGA滤波图像

图4棱角物体灰度原始图像与边缘检测效果实验仿真图中,图3(a)、图4(a)像为输人原始 灰度图像,图3(b)、图4(b)为FPGA Sobel滤波图 像,通过实验仿真图可以得出,该系统较好地完成了 算子边缘检测的任务,实验结果表明使用FPGA器 件能较为准确地检测出有用的边缘信息,为图像处 理提供了另一种可靠的捷径。

5结束语

文中给出了 Sobel算法的原理,硬件实现图像

[1] 方翰华,陈新华,沈国新,等.基于FPGA图像滤波算法

硬件化设计[J].电子测量技术,2009, 32(12): 68-71.[2] 于洋,兰旭腾.基于FPGA的图像处理系统算法研究

[J].电子技术与软件工程,2015(10): 91.

[3] 安春燕.基于FPGA的图像处理算法的研究[J].电子制

作,2015(5) : 105.[4] 周光宇,刘慧忠.边缘检测算法的FPGA实现[J].计算

机系统应用,2015, 24(10) : 271-275.

[5] 方惠蓉.FPGA在边缘检测中的应用[J].信息通信,

2015(1) : 9-12.

[6] ,赵刚,张晶.基于Matlab数字图像处理的方法应

用教学[J].山东工业技术,2015(8): 270-271.[7] 杨悦梅,冯冬芹.基于FPGA的高速图像处理技术[J]. 舰船科学技术,2015, 37(4) : 207-210.[8] 陈虎,凌朝东,张浩,等.基于FPGA的实时彩色图像边

缘检测算法的实现[J].液晶与显示,2015, 30(1): 143 -150.[9] 李杏华,刘宁,张晶.基于FPGA的图像实时处理系统

的设计[J].半导体光电,2014, 35(3) : 563-566.

[10] 刘慧忠,汤伟.基于FPGA的纸病检测预处理算法的实

现[J].中国造纸学报,2014, 29(1): 53-57.

本文引用格式:

59-61.

LIU Bofeng,GA0 Lipeng. Sobel image edge detection method based on FPGA[J]. Applied science and technology,2016,43(6): 59-61.

刘博峰,郜丽鹏.基于FPGA的Sobel图像边缘检测算法[J].应用科技,2016, 43(6) :

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务