边缘检测实验报告Word格式文档下载.docx

上传人:b****3 文档编号:15143114 上传时间:2022-10-28 格式:DOCX 页数:9 大小:37.89KB
下载 相关 举报
边缘检测实验报告Word格式文档下载.docx_第1页
第1页 / 共9页
边缘检测实验报告Word格式文档下载.docx_第2页
第2页 / 共9页
边缘检测实验报告Word格式文档下载.docx_第3页
第3页 / 共9页
边缘检测实验报告Word格式文档下载.docx_第4页
第4页 / 共9页
边缘检测实验报告Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

边缘检测实验报告Word格式文档下载.docx

《边缘检测实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《边缘检测实验报告Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

边缘检测实验报告Word格式文档下载.docx

h,在采用一阶微分算子情形记录下高于某个阈值 

的位置

坐标

Sh 

{(m, 

n) 

Tf 

(m, 

≥ 

h}

(而采用二阶微分算子情形,一般是对某个阈值 

ε 

>

确立

ε}

(4) 

对集合 

进行整理,同时调整阈值 

h。

Roberts 

算子

算子是一种利用局部差分算子寻找边缘的算子,两个模板分别为

⎡10 

⎡0 

1⎤

⎣1 

⎥⎦

则, 

Rx 

(i, 

j) 

(i 

1, 

1)

Ry 

算法的步骤为:

(1) 

首先用两个模板分别对图像作用得到 

和 

22

位于便于边缘处。

对于阈值选取的说明:

由于微分算子的检测性能受阈值的影响较大,为

此,针对具体图像我们采用以下阈值的选取方法,对处理后的图像统计大于某

一阈值的点,对这些数据求平均值,以下每个程序均采用此方法,不再做说明。

Sobel 

算子采用中心差分,但对中间水平线和垂直线上的四个邻近点赋予

略高的权重。

两个模板分别如下:

ç

02⎪

10 

⎛ 

y= 

1⎪

Prewitt 

Prewitt算子也属于中心差分类型,但没有给最邻近点较高的权重,两

个模板如下:

Px 

Py 

采用一阶微分算子很难找到一个一致的阈值选择办法,保证检测出的图像

有相对均匀的宽度,克服这个障碍的办法是改用二阶微分算子进行边缘检测定

位。

Laplace

经常采用如下 

Laplace 

微分算子:

∆f 

(x, 

y) 

=

∂ 

f

∂x 

2

+

∂y 

并进而寻找 

的跨零点的位置(零点的局部正和负的取值都有)。

当然实践中可以通过模板来实现,本程序采用如下模板:

⎡010⎤

⎢010⎥

无论什么样的微分算子,直接用来进行边缘检测,会受到噪声很大的干扰。

即使是二阶微分算子也不能克服噪声干扰。

但是如果采用高斯低通滤波,所得

的结果则比较好地保留了图像的边缘特征。

Marr-Hildrech 

的 

LOG 

边缘检测算法:

Canny 

检测子

算子采用和数据内容相关的滤波技术。

算子求边缘点具体算法步骤如下:

1. 

用高斯滤波器平滑图像.

2. 

用一阶偏导有限差分计算梯度幅值和方向.

3. 

对梯度幅值进行非极大值抑制 

4. 

用双阈值算法检测和连接边缘.

步 

图像与高斯平滑滤波器卷积:

对梯度幅值进行非极大值抑 

制(non_maxima 

suppression,NMS):

仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部

梯度最大的点,而抑制非极大值。

解决方法:

利用梯度的方向:

用 

双阈值算法检测和连接边缘:

对非极大值抑制图像作用两个阈值 

th1 

th2,两者关系 

th1=0.4th2。

我们

把梯度值小于 

的像素的灰度值设为 

0,得到图像 

1。

然后把梯度值小于 

th2

像素的灰度值设为 

2。

由于图像 

的阈值较高,去除大部分噪

音,但同时也损失了有用的边缘信息。

而图像 

的阈值较低,保留了较多的信

息,我们可以以图像 

为基础,以图像 

为补充来连结图像的边缘。

链接边缘的具体步骤如下:

对图像 

进行扫描,当遇到一个非零灰度的像素 

p(x,y)时,跟踪以 

p(x,y)为

开始点的轮廓线,直到轮廓 

线的终点 

q(x,y)。

考察图像 

中 

与图像 

q(x,y)点位置对应的点 

s(x,y)的 

邻 

近区域。

果在 

s(x,y)点的 

邻近区域中有非零像素 

s(x,y)存 

在,则将其包括到图像 

中,

作为 

r(x,y)点。

从 

r(x,y)开始,重复第一步,直到我们在图像 

和图像 

中都

无法继续为止。

当完成对包含 

p(x,y)的 

轮廓线的连结之后,将这条轮廓线标记为已经访问。

回到第一步,寻找下一条轮廓线。

重复第一步、第二步、第三步,直到图像 

中找 

不到新轮廓线为止。

至此,完成 

canny 

算 

子的边缘检测。

3、具体过程

Log算子阈值取0.01

Canny算子阈值取0.2

Canny算子阈值取0.25

4、实验分析

通过对上述几种算子的研究,我们可以发现,Prewit 

算子和 

都是对图像进行差分和滤波运算,仅在平滑部分的权值选择上有些差异,但是图

像产生了一定的模糊, 

而且有些边缘还检测不出来,所以检测精度比较低, 

类算子比较适用于图像边缘灰度值比较明显的情况。

Robert 

算子检测精度比较高, 

但容易丢失一部分边缘, 

使检测的结果不

完整,同时图像没经过平滑处理,不能抑制噪声,所以该算子对具有陡峭的低噪

声图像响应最好。

算子通过高斯函数对图像进行了平滑处理,对噪声的抑制作用比较

明显, 

但处理的同时也可能将原有的边缘平滑, 

造成某些边缘无法检测到。

外,噪声对其影响也较大,检测到的图细节很丰富,同时就可能出现伪边缘。

但是,如果要降低伪边缘的话,又可能使检测精度下降,丢失很多真边缘。

此, 

对于不同图像应选择不同参数。

Canny算子也采用高斯函数对图像进行平滑处理,也具有较强的去噪能力,

但同样可能会丢失一些边缘信息,但是,从图中可以看出,Canny算子比

算子的检测边缘的精度要高些。

通过实验结果可以看出,该算子在上述

几种边缘检测算子当中效果最好。

通过上述实验结果我们可以发现,在加入高斯噪声以后,canny算子的去噪能

力减弱,对边缘检测的效果不太明显。

相反,从图中可以发现sobel算子和

prewitt算子对噪声的过滤作用较为明显。

基本上能够检测出较为完整的边缘信

号。

Matlab 

代码:

clear 

all;

close 

warning 

off 

imread('

cameraman.tif'

);

%%没有噪声时的检测结果

BW_sobel 

edge(I,'

sobel'

BW_prewitt 

prewitt'

BW_roberts 

roberts'

BW_laplace 

log'

BW_canny 

canny'

figure

(1);

subplot(2,3,1),imshow(I),xlabel('

原始图像'

subplot(2,3,2),imshow(BW_sobel),xlabel('

sobel 

检测'

subplot(2,3,3),imshow(BW_prewitt),xlabel('

prewitt 

subplot(2,3,4),imshow(BW_roberts),xlabel('

roberts 

subplot(2,3,5),imshow(BW_laplace),xlabel('

laplace 

subplot(2,3,6),imshow(BW_canny),xlabel('

%%加入高斯噪声(μ=0,σ^2=0.01)检测结果

I_g1 

imnoise(I,'

gaussian'

0,0.01);

edge(I_g1,'

figure

(2);

subplot(2,3,1),imshow(I_g1),xlabel('

加入高斯噪声(μ=0,σ^2=0.01)图像'

%%加入高斯噪声(μ=0,σ^2=0.02)检测结果

I_g2 

0,0.02);

edge(I_g2,'

figure(3);

subplot(2,3,1),imshow(I_g2),xlabel('

加入高斯噪声(μ=0,σ^2=0.02)图像'

subplot(2,3,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1