基于Soble算子图像边缘检测优化设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Soble算子图像边缘检测优化设计

基于Soble算子图像边缘检测优化设计   摘要:针对移动目标图像轮廓的识别,设计了一种基于Sobel算子的FPGA实时图像边缘检测优化系统,利用FPGA并行运算特性,采用流水线的方法极大提高了系统对图像数据的处理速率。系统具有结构简单、运行稳定、处理数据速度快的优点,通过实验测试取得了良好的使用效果。   关键词:Soble算子;边缘检测;FPGA   中图分类号:TP391.4 文献标识码:A 文章编号:1007-9416(2017)11-0137-02   1 引言   图像的边缘检测技术,是数字视频图像数据处理的重要方式之一,在计算机视觉、模式识别、遥感等领域都有着广泛的应用。边缘检测是对图像上亮度发生突变的区域的确定,这些亮度发生突变的区域就是物体的边缘,其包含着一幅图像的大部分特征信息,是图像分析的基础。怎样才能更快速、更精准的实时检测图像的边缘信息一直是国内外图像处理领域研究的热点之一。   快速精准的将动态图像边缘提取出来,不仅包含复杂计算的算法,对于系统的处理速度也有着较高的要求。现代的FPGA器件就具备着片上逻辑资源丰富、能够高速并行处理大量数据的优点,能够快速实时的进行图像的边缘检测。本文以Xilinx Spartan-6系列高性能FPGA为核心,采用Soble图像边缘检测算法,以Verilog HDL语言设计了实时图像边缘检测系统。   2 Soble算子的图像边缘检测原理   Soble 算子法又称加权平均差分法,它的原理是计算x和y方向亮度信号的导数值,最大导数值和最小导数值就是亮度变化最剧烈的区域,也就是图像的边缘。利用水平和垂直方向3*3的Soble卷积表Gx和Gy作为模板如图1(b,c),与图像中同样大小的3*3区域像素(如图1(a))的对应点像素进行乘积求和运算,得到x方向和y方向的偏导数Dx和Dy如式(1),式(2)所示[1-2]。   进而可以求出中心像素的导数如式(3)所示。对于灰度图像,其像素值是无符号的,一般由8比特数据来表示其256个亮度等级,从0(黑色)到255(白色)。将中心像素的导数值与设定的阈值进行对比,大于阈值就设置中心像素点的灰度值为255,反之设置为0。将待处理图像的每一像素点都进行一次运算,就得到了边缘图像。因为开平方与平方函数都是单调的,而边缘检测只关注导数幅值的最值,故可将上式化简如下绝对值之和的形式,   |D|=|Dx|+|Dy|   可以看出实际计算幅值的最值与近似后公式计算的最值发生在图像的同一处位置。而且优化后的近似计算绝对值能够更加节省硬件资源,提高数据的处理速度。   3 图像边缘检测的系统设计   3.1 系统的整体结构设计   图像边缘检测系统的整体设计结构如图2所示,主要以Xlinx Spartan-6 FPGA为核心,包括了实时图像的采集、存储、边缘检测和图像的显示模块。实时图像采集的传感器采用VO7670 CMOS图像传感器,该传感器能够实时输出YcrCb灰度图像,数据可直接提供给边缘检测模块进行数据处理。边缘检测模块主要依靠FPGA并行运算的优势实现Soble算法的逻辑设计。图像显示控制模块主要对处理之后的边缘图像进行实时的动态显示。   3.2 图像数据处理的FPGA优化设计   为了系统高效稳定的进行数据的处理,在FPGA内部搭建了数据处理的片上系统模型,使得图像数据在控制流的控制下能够有序的通过数据处理单元。如图3所示,CMOS图像传感器通过I/O逻辑将图像数据连续的保存到存储器中,控制器控制Soble加速器读入存储器中的源数据进行边缘检测,再将处理后的图像写回存储器或显示到显示器,仲裁器负责各模块请求的仲裁。   3.3 数据处理逻辑单元的实现及结果分析   VO7670 CMOS的图像分辨率为640*480,帧率为30fps,每秒有约100万个像素数据待处理。欲满足实时性需求,必须在100ns内至少完成一个像素的所有运算操作。像素数据是8bit字节数据,一帧图像里一行的像素从左至右,一行像素接着一行像素,顺次存储在连续的地址空间存储器中。I/O逻辑单独写一像素数据到存储器会占用20ns,即数据处理带宽的20%。采用Soble算子进行图像的边缘检测,同样要求在100ns内进行9个原始像素数据的读取一个导数像素值得计算,和处理后该像素值的存储。发现顺次的读写处理数据不能够满足系统实时性的需求。   本设计在数据写操作上进行优化处理,采用4字节32bit一次写操作,可以使得平均每个像素写操作时间降低到5ns,在数据处理上我们采用Soble边缘检测加速器的方式进行(如图4所示)。从原始图像中读取三行作为一个数据块,每行4个相邻的像素,把这些像素值存储在加速器的32位寄存器中以待处理,再让这些像

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档