Canny边缘检测与轮廓提取.doc

上传人:re****.1 文档编号:543121957 上传时间:2023-11-14 格式:DOC 页数:25 大小:292.91KB
返回 下载 相关 举报
Canny边缘检测与轮廓提取.doc_第1页
第1页 / 共25页
Canny边缘检测与轮廓提取.doc_第2页
第2页 / 共25页
Canny边缘检测与轮廓提取.doc_第3页
第3页 / 共25页
Canny边缘检测与轮廓提取.doc_第4页
第4页 / 共25页
Canny边缘检测与轮廓提取.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Canny边缘检测与轮廓提取.doc》由会员分享,可在线阅读,更多相关《Canny边缘检测与轮廓提取.doc(25页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学通信工程应用技术综合训练与实习报告目录摘要IAbstractII1 绪论12 设计内容与OpenCV简介22.1 设计任务内容22.2 OpenCV简介23 理论分析33.1 边缘检测33.1.1 图像的边缘33.1.2 边缘检测的基本步骤33.2 轮廓提取44 边缘检测的算法比较54.1 Reborts算子54.2 Sobel算子54.3 Prewitt 算子64.4 Kirsch 算子74.5 LOG算子74.6 Canny算子85 实验仿真105.1算法设计105.2 实验结果116 分析与总结12参考文献13附录14摘要边缘检测是图像处理和计算机视觉中的基本问题,它的目的是

2、标识出数字图像中亮度变化明显的点。图像经过边沿检测处理之后,不仅大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。事实上,边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置。这些轮廓常常是我们在图像边缘检测时,所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。可用于图像边缘检测和轮廓提取的方法有很多,其中包括有常见的Robert 边缘算子、Prewitt 边缘算子、Sobel 边缘算子等等。本文首先将会从数字图像处理的角度,对几种边缘检测算法进行详细的分析,然后会并选择其中一种边缘检测算法进行实

3、验。考虑到以后进一步的学习,本文将会使用openCV对算法进行实现。最后,本文将会把实验获得的实际效果,与理论分析的结果进行比对,并以此对本次实验进行总结。关键字:边缘检测 轮廓提取 图像处理 openCV1AbstractEdge detection is the basic problem in image processing and computer vision, its purpose is to identify the digital image brightness changes in the obvious points.Image after edge detectio

4、n processing, not only greatly reduces the amount of data, and eliminated can think irrelevant information, keep the structure of the image important attribute.Edge of image, in fact, exist in the image of the irregular structure and unstable phenomenon, which exists in the abrupt change point of th

5、e signal, the point the location of the image contour is presented.These contours are often in image edge detection, we need some important characteristics of the condition, this needs us to the edge of an image detection and extract it.There are so many method can be used in image edge detection an

6、d contour extraction, including common Robert edge operator, Prewitt edge operator, Sobel edge operator and so on.At first, this paper will, from the perspective of digital image processing and analysis of several kinds of edge detection algorithms in detail, and then select one of the edge detectio

7、n algorithm for experiments.After considering the further study, this paper implemented the algorithm will use openCV.Finally, this article will obtain the actual effect of the experiment, and compares the results of theoretical analysis, and then to summarize this experiment.Keywords: Edge detectio

8、n Contour extraction Image processing openCV1 绪论数字图像处理技术的迅猛发展,其应用前景得到了不可限量的扩展,如今各行各业都在积极发展与图像相关的技术。其应用逐渐凸显其魅力,其应用如医学影像、航天航空、无人驾驶、自动导航、工业控制、导弹制导、文化艺术等。边缘检测在图像处理和计算机视觉等领域骑着重要的作用,是图像分析、模式识别、目标检测与分割等的前期处理。前期边缘检测的好坏,直接影响后期更高级处理的精度。自从1986年John Canny提出了最优边缘检测算子的三条准则并推导出了一个近似实现。但是在实际中,真正实现这一目标尚有较大的难度。这是因为:(

9、1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时噪声和边缘都属于高频信息,在进行滤波的同时,虽然能够在一定程度上抑制噪声,却也丢失了边缘信息。(2)由于场景、光照条件的边缘等原因,同一场景在不同光照条件下得到的边缘可能也是不同的,设置的阈值也可能是不同的。针对这些问题,如何进行改进,并得到较理想的边缘检测算子是有必要的。另一方面,轮廓提取技术是图像分割、目标区域识别区域行状提取等图像分析处理领域十分重要的基础。寻求非接触、精度高、具有综合分析能力的识别方法来代替人工目测,解决图像表面的模式识别和测量问题,是图像加工行业面临的一大难题,也是值得我们长期探讨的科研课题。22 设计内容

10、与OpenCV简介2.1 设计任务内容针对一幅图像,利用边缘检测算子(如Robert算子、Sobel算子、Prewitt算子、Laplace算子、Kirsch算子和Marr算子)检测出图像的边缘,然后采取轮廓提取算法得到封闭的二值图像轮廓。2.2 OpenCV简介OpenCV的全称是:Open Source Computer Vision Library,是一个基于开源发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效由一系列 C 函数和少量 C+ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视

11、觉方面的很多通用算法。相对于matlab而言,OpenCV操作起来较为复杂,需要一定C+编程基础,对没有语言基础的初学者而言较为困难。但是OpenCV有很多不容忽视的优点:(1) 具有更强大的数字图像处理能力;(2) 具有良好的可移植性;(3) 由于是一个C+的类库,因此在实际中运用更加广泛。考虑到上述因素,此次试验将选择OpenCV作为开发工具。3 理论分析3.1 边缘检测3.1.1 图像的边缘在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理结构的图标、颜色的图标等。尽管图像的边缘点产生的原因各不相同,但他

12、们都是图形上灰度不连续或灰度几句辩护的点,图像边缘分为阶跃状、斜坡状和屋顶状。从成因上看,一般图像边缘主要由四个方面的因素形成:(1)图像灰度在表面法向变化的不连续造成的边缘;(2)图像对像素在空间上不一致形成的边缘;(3)在光滑的表面上由于颜色的不一致形成的边缘;(4)物体的光影造成的边缘。图像边缘提取的作用有:(1)改良图像质量;(2)分离对象;(3)理解和重构视觉场景;(4)识别特征。3.1.2 边缘检测的基本步骤(1)滤波:边缘检测主要基于导数计算,会受到噪声的影响,可以通过设计滤波器来降低噪声,但滤波器在降低噪声的同时也会导致边缘精度的损失。(2)增强:增强算法将邻域中灰度有显著变化

13、的点突出显示。一般通过计算梯度幅值来完成。(3)检测:在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。(4)定位:精确确定边缘的位置。3.2 轮廓提取图像的轮廓作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。它在图像识别,图像分割,图像增强以及图像压缩等的领域有广泛应用,也是图像处理的基础。图像的轮廓往往携带着一幅图像的大部分信息。而轮廓即在于图像的不规则结构和不稳定上,也存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需的非常重要的特征条件,因而这就需要我们对一幅图像检测并提取出它的轮廓。经典的轮廓提取技术大都基于

14、微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。本次课设所用的轮廓提取算法非常简单,就是掏空内部点:如果原图中有一点为黑,且它的8个相邻点都是黑色时(此时该点是内部点),则将该点删除。要注意的是,我们处理的虽然是二值图,但实际上是256级灰度图,不过只用到了0和255两种颜色。4 边缘检测的算法比较特征提取作为图像边缘检测的一个重要内容,发展了众多的方法。这些方法经过实践的检验,成为了经典的内容。经典的边缘检测算子包括:Roberts算子、Prewitt算子、Sobel算子、Log算子、Canny算子等,

15、这些经典的边缘提取算子在使用时都是使用预定义的边缘模型去匹配。4.1 Reborts算子Reboerts算子是一种利用局部差分来寻找边缘的算子,Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:Roberts梯度算子对应的卷积模版为: 用以上两个卷积算子与图像运算后,可求出图像的梯度幅值 G ( x,y),然后选择适当的阈值 ,若 G ( x,y),则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。Roberts 算子采用的是用对角线方向上相邻两像素的差近似梯度幅值来检测边缘,它的定位精度高,对于水平和垂直方向的边缘,检测效果较好,而对于有一定倾角的斜边缘,检测效果则不理想,存在着许多的漏检。另外,在含噪声的情况下,Roberts 算子不能有效的抑制噪声,容易产生一些伪边缘。因此,该算子适合于对低噪声且具有陡峭边缘的图像提取边缘。4.2 Sobel算子Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为33,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号