图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx

上传人:b****5 文档编号:19825620 上传时间:2023-01-10 格式:DOCX 页数:8 大小:17.79KB
下载 相关 举报
图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx_第1页
第1页 / 共8页
图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx_第2页
第2页 / 共8页
图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx_第3页
第3页 / 共8页
图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx_第4页
第4页 / 共8页
图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx

《图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

图像增强图像滤波边缘检测的MATLAB实现Word文档格式.docx

J=histeq(I);

%将灰度图像转换成具有64(默认)个离散灰度级的灰度图像

imshow(I)

figure,imshow(J)

直方图均衡化后的图像'

figure

(1)

subplot(121);

imhist(I,64)

原始图像的直方图'

subplot(122);

imhist(J,64)

均衡化的直方图'

(请自己运行查看)

分析:

从上图中可以看出,用直方图均衡化后,图像的直方图的灰度间隔被拉大了,均衡化的图像的一些细节显示了出来,这有利于图像的分析和识别。

直方图均衡化就是通过变换函数histeq将原图的直方图调整为具有“平坦”倾向的直方图,然后用均衡直方图校正图像。

下面利用直方图规定化对图像进行增强:

figure,imshow(I);

hgram=50:

2:

250;

%规定化函数

J=histeq(I,hgram);

figure,imshow(J);

直方图规定化后的图像'

figure,imhist(I,64);

figure,imhist(J,64);

直方图规定化后的直方图'

运行结果:

变换灰度间隔后的图像和直方图:

1:

hgram=50:

5:

图像滤波的Matlab实现

3.1conv2函数

功能:

计算二维卷积

格式:

C=conv2(A,B)

C=conv2(Hcol,Hrow,A)

C=conv2(...,'

shape'

说明:

对于C=conv2(A,B),conv2的算矩阵A和B的卷积,若[Ma,Na]=size(A),[Mb,Nb]=size(B),则size(C)=[Ma+Mb-1,Na+Nb-1];

C=conv2(Hcol,Hrow,A)中,矩阵A分别与Hcol向量在列方向和Hrow向量在行方向上进行卷积;

C=conv2(...,'

)用来指定conv2

返回二维卷积结果部分,参数shape可取值如下:

》full为缺省值,返回二维卷积的全部结果;

》same返回二维卷积结果中与A大小相同的中间部分;

valid返回在卷积过程中,未使用边缘补0部分进行计算的卷积结果部分,当size(A)>

size(B)时,size(C)=[Ma-Mb+1,Na-Nb+1]。

3.2conv函数

计算多维卷积

与conv2函数相同

3.3filter2函数

计算二维线型数字滤波,它与函数fspecial连用

Y=filter2(B,X)

Y=filter2(B,X,'

对于Y=filter2(B,X),filter2使用矩阵B中的二维FIR滤波器对数据X进行滤波,结果Y是通过二维互相关计算出来的,其大

小与X一样;

对于Y=filter2(B,X,'

),filter2返回的Y是通过二维互相关计算出来的,其大小由参数shape确定,其取值如下

》full返回二维相关的全部结果,size(Y)>

size(X);

》same返回二维互相关结果的中间部分,Y与X大小相同;

》valid返回在二维互相关过程中,未使用边缘补0部分进行计算的结果部分,有size(Y)<

size(X)。

3.4fspecial函数

产生预定义滤波器

H=fspecial(type)

H=fspecial('

gaussian'

n,sigma) 

高斯低通滤波器

sobel'

) 

Sobel水平边缘增强滤波器

prewitt'

Prewitt水平边缘增强滤波器

laplacian'

alpha) 

近似二维拉普拉斯运算滤波器

log'

高斯拉普拉斯(LoG)运算滤波器

average'

n) 

均值滤波器

unsharp'

模糊对比增强滤波器

对于形式H=fspecial(type),fspecial函数产生一个由type指定的二维滤波器H,返回的H常与其它滤波器搭配使用。

4.滤波

4.1目的

运用中值滤波克服线性滤波器所带来的图像细节模糊。

4.2使用设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000)

4.3使用滤波对图像进行增强

4.3.1线性滤波(邻域平均)

线性低通滤波器最常用的是线性平滑滤波器,这种滤波器的所有系数都是正的,也称邻域平均。

邻域平均减弱或消除了傅立叶变换的高频分量,对噪声的消除有所增强,但是由于平均而使图像变得更为模糊,细节的锐化程度逐渐减弱。

下面使用不同的平滑模板对图像进行滤波:

(二维线性滤波fliter2)

J=imnoise(I,'

salt&

pepper'

%添加盐椒噪声,噪声密度为默认值0.05

添加盐椒噪声后的图像'

K1=filter2(fspecial('

3),J)/255;

%应用3×

3邻域窗口法

figure,imshow(K1)

3窗的邻域平均滤波图像'

K2=filter2(fspecial('

7),J)/255;

%应用7×

7邻域窗口法

figure,imshow(K2)

7窗的邻域平均滤波图像'

K3=filter2(fspecial('

9),J)/255;

%应用9×

9邻域窗口法

figure,imshow(K3)

9窗的邻域平均滤波图像'

K4=filter2(fspecial('

11),J)/255;

%应用11×

11邻域窗口法

figure,imshow(K4)

11×

11窗的邻域平均滤波图像'

4.3.2中值滤波

中值滤波可以保留目标边缘,这是中值滤波器相对于均值滤波器的最大优势。

中值滤波具有去噪的性能,可以消除孤立的噪声点,可以用来减弱随机干扰和脉冲干扰,但是边缘不模糊。

0.02);

%添加盐椒噪声,噪声密度为0.02

K1=medfilt2(J);

%在默认的3×

3的邻域窗中进行中值滤波

默认的3×

3的邻域窗的中值滤波图像'

K2=medfilt2(J,[55]);

%在5×

5的邻域窗中进行中值滤波

5的邻域窗的中值滤波图像'

从上可见,中值滤波的效果要比邻域平均的低通滤波效果好,中值滤波以后的图像的轮廓比较清晰,而且使用较小的模板得到的视觉效果反而好一些。

4.3.3锐化滤波

图像锐化处理的目的是使模糊图像变得清晰,锐化滤波器减弱或消除了傅立叶空间的低频分量,保留高频分量,从而加强了图像的轮廓,使图像看起来比较清晰。

下面应用Laplacian算子对图像进行锐化处理:

Laplacian算子是线性二次微分算子,其格式为:

h=fspecial('

alpha),返回一个3×

3的滤波器来近似二维Laplacian算子的形状,参数alpha决定了Laplacian算子的形状,alpha的取值范围为0.0~1.0,默认的值为0.2。

%应用Laplacian算子对图像进行锐化

H=fspecial('

%应用laplacian算子滤波锐化图像

laplacianH=filter2(H,I);

figure,imshow(laplacianH)

laplacian算子锐化后的图像'

由图可以看出,应用了Laplacian算子对图像锐化以后,将图像区域的边缘轮廓勾划了出来,因此Laplacian算子对于边缘检测也具有很好的功效。

5.边缘检测

下面利用sobel算子对图像进行边缘检测:

使用edge函数实现图像的边缘检测,其调用格式为:

BW=edge(I,'

thresh,direction) 

根据指定的敏感阈值thresh用Sobel算子对图像进行边缘检测,edge函数忽略了所有小于阈值的边缘,如果没有指定阈值thresh或为空,函数自动选择参数值,direction指定Sobel算子边缘检测的方向,其参数值为'

horizontal'

,'

vertical'

或'

both'

(默认)。

BW=edge(I,'

%以自动域值选择法对图像进行Sobel算子边缘检测

figure,imshow(BW);

自动域值的Sobel算子边缘检测'

[BW,thresh]=edge(I,'

%返回当前Sobel算子边缘检测的阈值

disp('

sobel算子自动选择的阈值为:

'

disp(thresh)

BW1=edge(I,'

0.02,'

%以域值为0.02水平方向对图像进行Sobel算子边缘检测

figure,imshow(BW1)

域值为0.02的水平方向的sobel算子检测'

BW2=edge(I,'

%以域值为0.02垂直方向对图像进行Sobel算子边缘检测

figure,imshow(BW2)

域值为0.02的垂直方向的sobel算子检测'

BW3=edge(I,'

0.05,'

%以域值为0.05水平方向对图像进行Sobel算子边缘检测

figure,imshow(BW3)

域值为0.05的水平方向的sobel算子检测'

BW4=edge(I,'

%以域值为0.05垂直方向对图像进行Sobel算子边缘检测

figure,imshow(BW4)

域值为0.05的垂直方向的sobel算子检测'

测试结果图:

sobel算子自动选择的阈值为:

0.1433

由图可以看出,在采用水平和垂直方向的Sobel算子对图像进行边缘检测时,分别对应的水平和垂直方向上的边缘有较强的响应,阈值越小,检测的图像的边缘细节数越多,而增大阈值时,有些轮廓则未能检测出。

其用法和Sobel算子类似。

其调用格式为:

thresh,direction)根据指定的敏感阈值thresh用Prewitt算子对图像进行边缘检测。

%以自动域值选择法对图像进行Prewitt算子边缘检测

自动域值的prewitt算子边缘检测'

%返回当前Prewitt算子边缘检测的阈值

prewitt算子自动选择的阈值为:

%以域值为0.02水平方向对图像进行Prewitt算子边缘检测

域值为0.02的水平方向的prewitt算子检测'

%以域值为0.02垂直方向对图像进行Prewitt算子边缘检测

域值为0.02的垂直方向的prewitt算子检测'

%以域值为0.05水平方向对图像进行Prewitt算子边缘检测

域值为0.05的水平方向的prewitt算子检测'

%以域值为0.05垂直方向对图像进行Prewitt算子边缘检测

域值为0.05的垂直方向的prewitt算子检测'

测试结果:

0.1399

(本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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