基于FPGA视频图像边缘提取算法实现.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文档。上传文档
查看更多
基于FPGA视频图像边缘提取算法实现

基于FPGA视频图像边缘提取算法实现   【摘要】在视频图像边缘提取中,针对传统Canny算法的不足,提出了3D高斯滤波和匹配导数滤波器对传统算法进行改进,增加了图像在时间轴上的关联性,极大的改善了传统Canny算法。为了在FPGA平台实现改进的Canny算法,采用大容量SDRAM作为图像缓存器,并设计了四口RAM结构完成图像在时间轴上的滤波。采用FPGA内部RAM和line buffer结构实现了图像的空间滤波。   【关键词】FPGA;边缘提取;Canny算法   边缘提取是一般实时视频运动目标跟踪算法的关键步骤,边缘提取算法的实现决定了后续视频处理的速度和质量。与静态图像不同,视频除了包含空间像素之间的关系外,还包含时间方向上像素之间的关系。传统的边缘提取算法多是基于空间的,即逐帧处理图像,而并未考虑到图像的时间关系。本文提出一种改进的Canny边缘提取算法,并通过该算法在FPGA平台上实现视频图像边缘提取。   1.系统硬件平台   FPGA内部资源丰富、速度快,而且不限制流水线级数,资源可以灵活配置,另外FPGA内部含有大量的乘法器和内嵌RAM等数字信号处理所必须的资源,因此FPGA平台非常适合作为实现实时图像处理算法的硬件平台[1]。   基于DE2-70的实时视频处理平台如图1所示,其中视频采集模块采用专用芯片ADV7180,实现标准模拟视频信号输入,转换为ITU656标准数字视频信号输出,视频解码模块的初始化配置和数字视频信号的解码,由FPGA内部逻辑单元编程实现,然后将解码后的视频信号转换为RGB信号,再由FPGA驱动高速视频DAC专用芯片ADV7123,产生标准VGA信号,实现视频的显示。   核心器件采用Altera公司推出的Cyclone II系列FPGA。Cyclone II器件全系列规模从4,608至68,416个逻辑单元,是第一代Cyclone系列的三倍。同时Cyclone II系列FPGA具有多达150个嵌入18×18乘法器,非常适合于实现低成本的数字信号处理应用,这些乘法器能运行在最高250MHz的频率上,提高了算法速度,减少了由复杂算法计算所导致的性能瓶颈。   在视频解码部分,为了将隔行扫描的视频信号转换为逐行扫描的视频信号,需要采用大容量高速图像缓存模块SDRAM。DE2平台选用了ISS公司的大容量高速同步动态随机存储器IS42S16160B,具有256MBit的容量和16Bit位宽,最高时钟频率达143MHz或166MHz,存储容量大,并有效提高处理速度,达到实时处理的目的。   2.Canny边缘检测算法及改进   Canny边缘检测算法是Canny于1986年开发出来的一个多级边缘检测算法,该算法满足以下准则:   (1)好的检测:算法能够尽可能多地标识出图像中的实际边缘;   (2)好的定位:标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近;   (3)最小响应:图像中的边缘只能标识一次,并且能最大程度的抑制虚假边缘的响应。   Canny算法的实现主要有四个步骤:   (1)用2D高斯滤波模板进行卷积运算以消除噪声;   (2)利用2×2邻域一阶偏导的差分来计算滤波后的数据阵列I(x,y)的梯度幅值和方向。其中,x方向和y方向的偏导数dx和dy分别为:   (3)对梯度进行非极大值抑制:遍历图像,若某个像素的灰度值小于其梯度方向上前后两个像素的灰度值,那么该像素为非边缘;   (4)双阈值化处理:经过非极大值抑制后的图像可能存在孤立点而造成轮廓的中断,为了避免这种情况,Canny使用了滞后双阈值处理,即设定两个阈值――高阈值T2和低阈值T1(一般取T1=0.4T2),图像中每一点的梯度值凡是大于T2的一定是边缘;凡是小于T1的一定不是边缘;如果检测结果大于T1但又小于T2,那就要看这个像素的邻接像素中有没有超过T2的边缘像素:如果有的话就是边缘,否则就不是边缘。   在上述传统的Canny算法中,第一步2D高斯滤波和第二步求偏导数都是仅在空间方向上的运算,而并未考虑到视频图像在时间上的关系,这对检测结果影响较大。针对传统Canny算法的缺点,提出以下改进措施:   (1)将步骤一中的2D高斯滤波改为3D高斯滤波,即将2D高斯滤波从二维空间扩展到三维,增加视频图像时间轴上的一维高斯滤波,提高滤波器的噪声抑制效果。选定3×3×3高斯平滑滤波核[1 2 1]/4作为高斯滤波的模板。   (2)采用一种导数滤波器与高斯平滑滤波器匹配的方法来计算导数,作为传统图像求导方法的一种替代方法[2]。即在某一方向上(时间或空间)求导时,在其他两个方向上进行与之匹配的低通平滑滤波。采用高斯平滑滤波核[1 2 1]/4与导数核[-1 0 1]作为匹配滤波。   3.改进的边缘检测算法在FPGA

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档