canny边缘检测及matlab实现 下载本文

内容发布更新时间 : 2024/11/15 12:15:17星期一 下面是文章的全部内容请认真阅读。

北京工业大学 研究生课程考试答题纸

考试课程:

课程类别:学位课选修课

研究生学号:

研究生姓名:

学生类别:博士硕士 工程硕士进修生

考试时间:年月日

题号 分数 任课教师签名 一 二 三 四 五 六 七 八 九 十 总分 1

一、实验目的:

熟悉边缘检测原理,并运用matlab软件实现图像的canny边缘检测,体会canny边缘检测的优缺点。

二、实验内容:

编写matlab程序,实现对lena图像的边缘检测,输出程序运行结果。

三、实验原理或步骤:

首先回顾一下边缘检测的一般步骤: 边缘检测算法一般包含如下四个步骤: 1.滤波(去噪)。

2.增强(一般是通过计算梯度幅值)。

3.检测(在图像中有许多点的梯度幅值会比较大,而这些点并不都是边缘,所以应该用某种方法来确定边缘点,比如最简单的边缘检测判据:梯度幅值阈值)。 4.定位(有的应用场合要求确定边缘位置,可以在子像素水平上来估计,指出边缘的位置和方向)

Canny边缘检测的算法步骤:

1.用高斯滤波器平滑图像(不同尺度的Canny检测子由高斯的不同标准差来表示)用一阶偏导的有限差分来计算梯度的幅值和方向。

2.对高斯平滑后的图像进行sobel边缘检测。这里需要求横的竖的还有联合的,所以一共三个需要sobel边缘检测图像。

3.对联合的sobel检测图像进行非极大值抑制(Non-Maxima Suppression, NMS)

4.用双阈值算法检测和连接边缘,并进行滞后阈值处理。

其中非极大值抑制细化了幅值图像中的屋脊带,只保留幅值局部变化最大的点。

双阈值算法:用两个阈值得到两个阈值图像,然后把高阈值的图像中的边缘连接成轮廓,连接时到达轮廓的端点时,在低阈值图像上找可以连接的边缘。不断收集,直到所有的间隙连接起来为止。 四、运行结果和分析 每步运行效果:

2

Figure1原图:

Figure2 高斯模糊后:

3