基于opencv图像边缘检测技术.docVIP

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

基于opencv图像边缘检测技术   摘要:数字图像边缘检测技术是信息科学中近些年来发展最为迅速的学科之一。图像边缘是图像最基本的特征之一,在图像分割、图像识别以及其他图像相关等领域中有着广泛的应用,其主要图像处理方法就是精确定位图像其边缘,同时利用高斯滤波有效地抑制噪声。边缘检测是图像处理和计算机视觉中的一个重要分支,并且它也在图像的分析中有着重要的意义,边缘检测的原理是识别图像中亮度改变较为明显的点,其本质是采用不同的算子进行边缘检测并进行修整。本文就是基于visual studio 2013和opencv通过C++综合实现编程,分别用不同的算子,例如Laplacian算子、Scharr算子和Canny算子来实现静态图像的边缘检测,并且在检测结束时进行算法运行结果的比对,在一些应用实践中选择出适合的算法 关键词:opencv 边缘检测 算子 中图分类号:TG409 文献标识码:A 文章编号:1007-9416(2016)11-0040-01 随着数字计算机和计算机技术的发展和普及,数字图像处理也迎来了快速发展时期,而数字图像处理就是利用数字计算机以及其它的硬件设备对图像信息转换而获得电信号进行简单的数学处理,以便提升图像的实用性。随着时代的进步,边缘检测的精度和速度都在不断提高,但是在边缘较为复杂的情况下,常规的检测算子无法检测出所有类型的边缘;而现今有些产品的要求是对某些较为明显的轮廓有较高程度的要求,比如说人和景物的轮廓精确识别,其他浅显的线条可以忽略等等不同的设计要求往往需要不同的算法才能达到目的。故而如今边缘检测在某些方向的应用如检测工业检工件的边沿、摄像机人脸轮廓选定等方面仍有巨大的发展空间 1 边缘检测原理 边缘是指图像像素进行灰度后阶跃变化或类屋顶状变化的像素集合,它经常存在于目标与背景、目标与目标、基元与基元,以及区域与区域之间。 因此它是图像处理的首要任务,同样还是图像形状特征的基础;图像的其他特征都是由边缘和区域这些基本特征推导出来的。边缘具有方向以及幅度两个特征。如果沿边缘方向,像素值变化相对平缓;而垂直与边缘方向,则像素值变化又相对剧烈。而这种程度的剧烈有可能呈现斜坡状,也可能呈现阶跃状。 边缘上像素值的一阶偏导偏大;二阶偏导在边缘处值接近于零,则结果呈现零交叉。最简单的边缘检测方法是对原始图像按像素其邻域构造边缘算子。因为初始图像包含噪声,但是边缘和噪声的空间域表现为灰度有明显的起落;在频域通常的反应为同是高频分量,这就给图像的边缘检测带来了很多麻烦 2 算子原理和使用流程 对图像进行边缘检测需要达到两个基本条件:首先能够有效地消除噪声;再而准确确定边缘的位置 (1)Canny边缘检测算子是根据对信噪比与定位乘积进行检测,从而得到最优化算子。它的实现流程是①平滑图像,抑制噪声;②计算梯度方向和幅值;③非极大值抑制;④滞后其阈值 (2)Laplacian 算子是欧几里德空间中常用的二阶微分算子,它的实现步骤是①对变量进行定义;②使用高斯滤波消除噪声;③转换为灰度图;④使用Laplace函数;⑤计算绝对值,并将结果转换成8位 (3)scharr算子在某种程度上来说,更应该算是一个滤波器,而不是算子,它在opencv中主要是配合Sobel算子而存在。它的实现流程与Sobel算法相似,但最后会进行一个有目的的滤波过程 3 部分程序及分析 Blur(edges3, edges3, 7); // 定义滤波处理后的图像 cvtColor(frame, edges1, CV_BGR2GRAY); //颜色转换函数,彩色转为灰色 Canny(edges1, edges1, 0, 30, 3); //canny算子边缘检测,阈值为0,30 Laplacian(src1_gray,dst,CV_16S,3,1,0, BODER_DEFAULT); // Laplacian算子边缘检测 Scharr(src,grad_x,CV_16S,1,0,1,0, BORDER_DEFAULT); convertScaleAbs(grad_x, abs_grad_x); Scharr(src,grad_y,CV_16S,0,1,1,0, BORDER_DEFAULT); cvtColor(src1, src1_gray, CV_RGB2GRAY); convertScaleAbs(grad_y,abs_grad_y); // Scharr算子边缘检测 Laplacian(src1_gray, dst, CV_16S, 3, 1, 0, BORDER_DEFAULT) 4 实验结果 因本实验的初衷是对对象按不同的算子进行

文档评论(0)

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

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档