更全的杂志信息网

改进的图像边缘检测算法的FPGA实现与仿真

更新时间:2016-07-05

现代图像处理研究热点主要集中在数字图像采集、转换、传输过程等方面,其中图像边缘检测技术是数字图像处理的重要基础技术,广泛运用于车牌识别、人脸图像分割、药用植物形态研究、医学CT图像检索、运动目标检测、导弹运动轨迹拦截等方面。一些普通的图像处理软件在处理图像边缘时没法满足实时性[1],而FPGA芯片,利用自身硬件以及乒乓并行流水线处理等特点,可以实时处理大量的图片数据,满足实时性要求。经典Sobel算子[2]算法简单、运算速度快,但它只检测水平和垂直两个方向的边缘,抗噪能力弱,容易丢失图像边缘,造成图像边缘检测效果失真。文献[3]在经典Sobel算子的基础上,增加45°方向和135°方向两个模板,提高边缘检测精度,并对梯度图像进行提取和细化,局部弱边缘增强,优化图像检测效果。虽然在一定程度上可以检测图像边缘,但因检测方向有限,对有些类型的图像,如纹理较多的叶片等,检测效果仍较差。因此,在对Sobel算子分析的基础上,提出一种改进的图像边缘检测算法,从0°,45°,90°,135°,180°,225°,270°和315°等8个方向构建卷积模板,并利用硬件编程Verilog语言,进行FPGA仿真实验。实验表明,该算法能明显提高图像边缘检测的方向和精度。

1 Sobel算子与FPGA硬件实现

1.1 Sobel算子

在数字图像处理过程中,一幅图像由N×N个像素点组成,按行的方式一次存储在内存中。Sobel算子是通过卷积来估算每个像素点在x和y方向的一阶导数值,并且寻找导数中的最大值和最小值。卷积的计算过程:

(1)滑动窗大小的选择。滑动窗是数字图像算法输出的窗口,一般大小选择3×3,5×5或者更大的奇数窗口。在实际应用过程中,考虑到算法的执行效率以及FPGA芯片资源消耗,一般选择3×3奇数方形窗。

(2)卷积系数表的确定。经典的卷积系数表用

分别表示x方向和y方向的梯度值。经典卷积系数表只计算水平x和垂直y两个方向的模板,边缘检测效果不理想,容易造成边缘点的误判。因此,在综合考虑边缘检测效果以及FPGA芯片工作频率的基础上,提出了基于8个方向的卷积模板,即在水平和垂直方向卷积模板的基础上,增加了45°,135°,180°,225°,270°和315°等6个方向卷积模板[4],分别为

根据Sobel算子的计算规则,可以先计算出中点像素P5在8个方向的梯度值Gx,…,Gy,

诸葛亮:三国时蜀汉政治家,字孔明,辅佐刘备建立蜀汉。《三国演义》对他的智谋多有渲染,一般用来称足智多谋的人。

图1 3×3图像灰度值

(3)将选定的3×3方形窗口的每一个像素乘以卷积系数表,根据Sobel算法计算出像素点在8个方向的梯度值,并将梯度值与设定的阈值进行比较。图1为一帧图像3×3的区域,P为各个像素点的灰度值。

然后根据中点像素点P5在8个方向的梯度值计算出中心像素点Dp5的值,即

冯道由于其独特的仕宦经历引起诸多毁誉,后人对其指责主要源于以下两点:一是历仕后唐、后晋、后汉、后周四朝十帝;二是曾向辽帝称臣。为冯道辩解的人则认为冯道提携贤良,孝亲济民;而且他身处五代乱世,转事多君是无奈之举。由冯道引起的论争反映了评论者本人的脾气秉性、学术倾向以及当时的政治氛围。

为了提高算法运算速度,将(3)式进行简化,得到

将 ||Dp5的值与图像全局阈值T进行比较,若是大于T,将P5点灰度值置为255,否则置为0。按照此方法,对图像中的每个像素点进行计算,就可以提取出图像的边缘。经典Sobel算子采用固定阈值对梯度图像进行边缘提取,直接剔除梯度图像的一些弱边缘,提高算法运行速度,但也容易造成图像边缘检测结果模糊。改进的Sobel算子采用局部梯度均值对初始梯度图像进行局部筛选和增强,保留局部区域内符合边缘特性的边缘像素点,过滤不符合边缘特性的像素点,构成更加清晰的图像边缘,具体如下

式中G为初始梯度图像,G'为经过局部阈值处理后的梯度图像,mean(G[i,j])为梯度图像G在3×3检测窗口内非零值点的平均梯度值。若有些图像边缘局部点无法构成完整的3×3方形区域,则不能按照上述方法进行计算,针对这种特殊类型的像素点,直接将像素点的梯度值设置为0[5]。改进的Sobel边缘检测算法的原理如图2所示。

图2 Sobel边缘检测算法的原理图

1.2 FPGA硬件实现

包装是果实标准化、商品化、保证安全运输和贮藏、便于销售的主要措施。良好的包装对生产者、销售者和消费者都有利,也是产品进一步增值的措施。

不仅仅是海吉星,在整个长沙县经济社会发展进程中,高速公路带来的交通优势功不可没。境内有京港澳高速、平汝高速、长株高速、长永高速、机场高速、长沙绕城高速东北、东南段和正在建设之中的江背至干杉高速公路等多条高速公路,另有G107、S207、S103等国省干线公路穿境而过。可以说,湖南省再没有,全国也少见像长沙县这样具有如此便利的交通条件的地方。

本文算法设计5个模块:顶层模块sobel.v和4个子模块 addr_gen.v,compute.v,machine.v和sobel_slave.v。Sobel算子的FPGA实现由9个文件组成,下面简要描述几个文件。machine.v主要是生成3×3窗口,输入的时钟信号clk,复位信号rst_n以及串行的图像数据等;compute.v主要是计算像素点在x和y方面的梯度,并进行绝对值相加,得出该点的梯度值abs_D;memory.v是将预处理的图片文件bmp_dat.txt进行Sobel算子检测处理,并将处理好的图片数据保存在post_process_dat.txt中[7]

FPGA(Field Programmable Gate Array)可以利用硬件并行处理和流水线的特性,来加速数据处理能力。在3×3的窗口滤波器流出线处理过程中,每个像素都会被多个窗口使用。通过缓存读入的像素使得它们在后续的窗口位置被重复利用,通过FPGA硬件流水线特性,可以实现对Sobel算子的加速计算。

5.B 提示:①中氯气与水反应生成的HClO为弱酸,在离子方程式中不能拆分书写;③中浓盐酸可全部电离,应写成H+和Cl-的形式。

图3 FPGA硬件算法步骤

限于篇幅,图3只显示硬件算法的上半部分,即Gx和Gy,Gx=180和Gy=270的计算过程基本类似。从图3中可以发现,为了提高硬件运行速度和资源利用,算法中只使用了加法和乘法运算。在改进的算法中,将二维滤波器分解成两个一维滤波器的级联:一个1×W对列操作的滤波器和一个W×1对行操作的滤波器。这样会把乘法和加法数量从W2减至2W。同时,利用时钟延迟,使用行缓存来获取列中元素,实现列窗口中像素的并行处理。随着图像数据元素的不断写入,滤波函数串行地从一列移到下一列,实现硬件流水线处理。

这是写给其表兄兼老师叶中孚的信(据《中峰集》卷四《送叶中孚序》,董氏小时曾从表兄叶中孚学《易》,两人处在师友之间),文词十分幽默。他对自己的道德品行极为自信,认为自己是洁身自好的人,即使是烂醉如泥,还可参与祭祀天地。而对叶中孚由于世风日坏从而对朋友的洁身自守产生的怀疑,以为是疑非所当疑。文中用了“斩关而责穿窬”、“滥醉犹可祀天地”之语,诙谐生动,体现了朋友的亲密无间关系。这让我们看到董氏也并总不是一个一本正经板着面孔说教的经师,他也还有抒发其性灵的时候。

根据本文提出的Sobel算子的计算思想,结合FPGA硬件处理特性,提出如图3所示的算法步骤[6]

2 FPGA仿真与图像边缘检测

采用Altera公司的Cyclone IV E系列的EP4CE22F17C6芯片进行仿真。具体步骤如下:(1)选择一幅1 024×768的8位图片,利用图像预处理软件BMP.exe进行处理,产生灰度图像,并保存成 bmp_dat.txt;(2)使用Altera公司的Quartus 14.0软件,利用Verilog语言编程,进行仿真,生成post_process_dat.txt,保存在memory.v文件中,利用MATLAB图像函数显示图像[8]

通过Quartus 14.0软件对实现的Sobel算法进行综合后,得出改进的Sobel算法使用336个Dedicated logic registers,127个Total pins,内存为22 320,所用资源仅占系统资源的3%,利用率很高。利用modelism ALTERA 10.1e对实现的结果进行RTL simulation验证,如图4所示。

输卵管积水型不孕症疾病是我国临床女性不孕症中较为常见的一种类型,也是临床中较为复杂的一种疾病,其也随着社会的不断发展以及饮食结构的变化呈逐年上升趋势[5-7],严重影响患者的身心健康,甚至可能还会使得患者的生活遭受到一定的伤害,影响患者的生活质量,故需要选择一种较为合适的方法进行治疗,从而达到一定的应用效果。

图4 Sobel算法FPGA仿真图

将程序下载到FPGA中,进行仿真运算,实验结果如图5所示。仿真结果表明,改进的Sobel算法,可以有效地检测出图像边缘,与经典Sobel算法和文献[2]算法相比,图像边缘检测更加清晰,叶片纹理更加明显[9]。同时,实验结果表明,处理一幅1 024×768的8位灰度图像,花费时间0.94 us,每秒可以处理1 108幅图像,符合实时图像处理的性能要求。

图5 不同算法仿真图

3 结束语

在经典Sobel分析的基础上,提出一种改进的Sobel算法。改进的Sobel算法,从8个方向对图像边缘进行检测,利用硬件编程Verilog语言和Altera公司的Quartus 14.0软件,进行FPGA仿真实验。实验结果表明,改进的Sobel算法具有良好的图像边缘检测性能,能够有效检测叶片的边缘和纹理。同时算法占用系统资源少,能够并行处理多幅图像,满足实时图像处理系统的性能要求。

参考文献:

[1]杜正聪,宁龙飞.基于Sobel算法图像边缘检测的FPGA实现[J].电子技术应用,2016,42(10):89-91,95.

油炸食物。高脂肪的油炸食物可导致胆囊收缩素分泌增加,造成胆汁反流,加重对胃黏膜的腐蚀作用,不利于黏膜修复。此外,油炸食物的胃排空时间较长,从而使胃酸分泌增加。

[2]沈德海,鄂旭,张龙昌.基于Sobel算子的医学图像边缘检测研究[J].电子设计工程,2015,23(7):141-144.

[3]谭媛,黄辉先,徐建闽,等.基于改进Sobel算子的遥感图像道路边缘检测方法[J].国土资源遥感,2016,28(3):7-11.

[4]刘晓云.基于Sobel算子的实时图像边缘检测系统设计[D].太原:中北大学,2015.

[5]付克兰,詹旭.基于DCT的Sobel算子的图像边缘检测优化算法[J].河南科学,2015,33(12):2131-2134.

[6]靳鹏飞.一种改进的Sobel图像边缘检测算法[J].应用光学,2008,29(4):625-628 .

[7]汪敬贤.图像边缘检测的改进方法[J].辽宁工程技术大学学报(自然科学版),2008,27(2):263-266.

[8]项衍,叶擎昊,刘建国,等.基于图像边缘检测法反演大气边界层高度[J].中国激光,2016,43(7):191-197.

[9]苗锡奎,胡启立,赵威,等.一种新的图像边缘检测算法研究[J].光电子技术,2016,36(1):49-54.

沈同平,高洁,方芳,王元茂
《安庆师范大学学报(自然科学版)》2018年第1期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号