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 compensate 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务