ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:18.11KB ,
资源ID:11375689      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11375689.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像增强图像滤波边缘检测的MATLAB实现.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像增强图像滤波边缘检测的MATLAB实现.docx

1、图像增强图像滤波边缘检测的MATLAB实现图像增强、图像滤波及图像边缘检测MATLAB实现程序图像增强图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。下面利用直方图统计算法对灰度图像进行增强:程序代码:I=imread(cameraman.tif);subplot(121)imshow(I);title(原始图像);subplot(122)imhist

2、(I,64)%绘制图像的直方图,n=64为灰度图像灰度级,若I为灰度图像,默认n=256;若I为二值图像,默认n=2。title(图像的直方图);(请自己运行查看)n=256时:(请自己运行查看)下面利用直方图均衡化增强图像的对比度:I=imread(cameraman.tif);J=histeq(I);%将灰度图像转换成具有64(默认)个离散灰度级的灰度图像imshow(I)title(原始图像)figure,imshow(J)title(直方图均衡化后的图像)figure(1)subplot(121);imhist(I,64)title(原始图像的直方图)subplot(122);imhi

3、st(J,64)title(均衡化的直方图) (请自己运行查看)分析:从上图中可以看出,用直方图均衡化后,图像的直方图的灰度间隔被拉大了,均衡化的图像的一些细节显示了出来,这有利于图像的分析和识别。直方图均衡化就是通过变换函数histeq将原图的直方图调整为具有“平坦”倾向的直方图,然后用均衡直方图校正图像。下面利用直方图规定化对图像进行增强:I=imread(cameraman.tif);figure,imshow(I);title(原始图像);hgram=50:2:250; %规定化函数J=histeq(I,hgram);figure,imshow(J);title(直方图规定化后的图像)

4、;figure,imhist(I,64);title(原始图像的直方图);figure,imhist(J,64);title(直方图规定化后的直方图);运行结果:变换灰度间隔后的图像和直方图:hgram=50:1:250; hgram=50:5:250;3 图像滤波的 Matlab 实现3.1 conv2 函数功能:计算二维卷积格式:C=conv2(A,B) C=conv2(Hcol,Hrow,A) C=conv2(.,shape)说明:对于 C=conv2(A,B) ,conv2 的算矩阵 A 和 B 的卷积,若 Ma,Nasize(A), Mb,Nb=size(B), 则 size(C)=

5、Ma+Mb-1,Na+Nb-1;C=conv2(Hcol,Hrow,A) 中,矩阵 A 分别与 Hcol 向量在列方向和 Hrow 向量在行方向上进行卷积;C=conv2(.,shape) 用来指定 conv2返回二维卷积结果部分,参数 shape 可取值如下: full 为缺省值,返回二维卷积的全部结果; same 返回二维卷积结果中与 A 大小相同的中间部分; valid 返回在卷积过程中,未使用边缘补 0 部分进行计算的卷积结果部分,当 size(A)size(B) 时,size(C)=Ma-Mb+1,Na-Nb+1。3.2 conv 函数功能:计算多维卷积格式:与 conv2 函数相同

6、3.3 filter2函数功能:计算二维线型数字滤波,它与函数 fspecial 连用格式:Y=filter2(B,X) Y=filter2(B,X,shape)说明:对于 Y=filter2(B,X) ,filter2 使用矩阵 B 中的二维 FIR 滤波器对数据 X 进行滤波,结果 Y 是通过二维互相关计算出来的,其大小与 X 一样;对于 Y=filter2(B,X,shape) ,filter2 返回的 Y 是通过二维互相关计算出来的,其大小由参数 shape 确定,其取值如下: full 返回二维相关的全部结果,size(Y)size(X); same 返回二维互相关结果的中间部分,Y

7、 与 X 大小相同; valid 返回在二维互相关过程中,未使用边缘补 0 部分进行计算的结果部分,有 size(Y)size(X) 。3.4 fspecial 函数功能:产生预定义滤波器格式:H=fspecial(type) H=fspecial(gaussian,n,sigma) 高斯低通滤波器 H=fspecial(sobel) Sobel 水平边缘增强滤波器 H=fspecial(prewitt) Prewitt 水平边缘增强滤波器 H=fspecial(laplacian,alpha) 近似二维拉普拉斯运算滤波器 H=fspecial(log,n,sigma) 高斯拉普拉斯(LoG)

8、运算滤波器 H=fspecial(average,n) 均值滤波器 H=fspecial(unsharp,alpha) 模糊对比增强滤波器说明:对于形式 H=fspecial(type) ,fspecial 函数产生一个由 type 指定的二维滤波器 H ,返回的 H 常与其它滤波器搭配使用。4. 滤波4.1 目的 运用中值滤波克服线性滤波器所带来的图像细节模糊。4.2 使用设备 PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000)4.3 使用滤波对图像进行增强 4.3.1 线性滤波(邻域平均) 线性低通滤波器最常用的是

9、线性平滑滤波器,这种滤波器的所有系数都是正的,也称邻域平均。邻域平均减弱或消除了傅立叶变换的高频分量,对噪声的消除有所增强,但是由于平均而使图像变得更为模糊,细节的锐化程度逐渐减弱。 下面使用不同的平滑模板对图像进行滤波:(二维线性滤波fliter2)程序代码:I=imread(cameraman.tif);imshow(I)title(原始图像)J=imnoise(I,salt & pepper); %添加盐椒噪声,噪声密度为默认值0.05figure,imshow(J)title(添加盐椒噪声后的图像)K1=filter2(fspecial(average,3),J)/255; %应用33

10、邻域窗口法figure,imshow(K1)title(33窗的邻域平均滤波图像)K2=filter2(fspecial(average,7),J)/255; %应用77邻域窗口法figure,imshow(K2)title(77窗的邻域平均滤波图像)K3=filter2(fspecial(average,9),J)/255; %应用99邻域窗口法figure,imshow(K3)title(99窗的邻域平均滤波图像)K4=filter2(fspecial(average,11),J)/255; %应用1111邻域窗口法figure,imshow(K4)title(1111窗的邻域平均滤波图像

11、)4.3.2 中值滤波 中值滤波可以保留目标边缘,这是中值滤波器相对于均值滤波器的最大优势。中值滤波具有去噪的性能,可以消除孤立的噪声点,可以用来减弱随机干扰和脉冲干扰,但是边缘不模糊。程序代码:I=imread(cameraman.tif);imshow(I)title(原始图像)J=imnoise(I,salt & pepper,0.02); %添加盐椒噪声,噪声密度为0.02figure,imshow(J)title(添加盐椒噪声后的图像) K1=medfilt2(J); %在默认的33的邻域窗中进行中值滤波figure,imshow(K1)title(默认的33的邻域窗的中值滤波图像)

12、K2=medfilt2(J,5 5); %在55的邻域窗中进行中值滤波figure,imshow(K2)title(55的邻域窗的中值滤波图像)从上可见,中值滤波的效果要比邻域平均的低通滤波效果好,中值滤波以后的图像的轮廓比较清晰,而且使用较小的模板得到的视觉效果反而好一些。4.3.3 锐化滤波 图像锐化处理的目的是使模糊图像变得清晰,锐化滤波器减弱或消除了傅立叶空间的低频分量,保留高频分量,从而加强了图像的轮廓,使图像看起来比较清晰。下面应用Laplacian算子对图像进行锐化处理: Laplacian算子是线性二次微分算子,其格式为:h = fspecial(laplacian, alph

13、a),返回一个33的滤波器来近似二维Laplacian算子的形状,参数alpha决定了Laplacian算子的形状,alpha的取值范围为0.01.0,默认的值为0.2。程序代码:%应用Laplacian算子对图像进行锐化I=imread(cameraman.tif);imshow(I)title(原始图像)H=fspecial(laplacian);%应用laplacian算子滤波锐化图像laplacianH=filter2(H,I);figure,imshow(laplacianH)title(laplacian算子锐化后的图像) 分析:由图可以看出,应用了Laplacian算子对图像锐化

14、以后,将图像区域的边缘轮廓勾划了出来,因此Laplacian算子对于边缘检测也具有很好的功效。5. 边缘检测下面利用sobel算子对图像进行边缘检测: 使用edge函数实现图像的边缘检测,其调用格式为: BW=edge(I,sobel,thresh,direction) 根据指定的敏感阈值thresh用Sobel算子对图像进行边缘检测,edge函数忽略了所有小于阈值的边缘,如果没有指定阈值thresh或为空,函数自动选择参数值,direction指定Sobel算子边缘检测的方向,其参数值为horizontal,vertical或both(默认)。程序代码:I=imread(cameraman.

15、tif);imshow(I)title(原始图像)BW=edge(I,sobel);%以自动域值选择法对图像进行Sobel算子边缘检测figure,imshow(BW);title(自动域值的Sobel算子边缘检测)BW,thresh=edge(I,sobel);%返回当前Sobel算子边缘检测的阈值disp(sobel算子自动选择的阈值为:)disp(thresh)BW1=edge(I,sobel,0.02,horizontal);%以域值为0.02水平方向对图像进行Sobel算子边缘检测figure,imshow(BW1)title(域值为0.02的水平方向的sobel算子检测)BW2=e

16、dge(I,sobel,0.02,vertical);%以域值为0.02垂直方向对图像进行Sobel算子边缘检测figure,imshow(BW2)title(域值为0.02的垂直方向的sobel算子检测)BW3=edge(I,sobel,0.05,horizontal);%以域值为0.05水平方向对图像进行Sobel算子边缘检测figure,imshow(BW3)title(域值为0.05的水平方向的sobel算子检测)BW4=edge(I,sobel,0.05,vertical);%以域值为0.05垂直方向对图像进行Sobel算子边缘检测figure,imshow(BW4)title(域值

17、为0.05的垂直方向的sobel算子检测)测试结果图: sobel算子自动选择的阈值为:0.1433由图可以看出,在采用水平和垂直方向的Sobel算子对图像进行边缘检测时,分别对应的水平和垂直方向上的边缘有较强的响应,阈值越小,检测的图像的边缘细节数越多,而增大阈值时,有些轮廓则未能检测出。其用法和Sobel算子类似。其调用格式为:BW=edge(I,prewitt,thresh,direction) 根据指定的敏感阈值thresh用Prewitt算子对图像进行边缘检测。程序代码:I=imread(cameraman.tif);imshow(I)title(原始图像)BW=edge(I,pre

18、witt);%以自动域值选择法对图像进行Prewitt算子边缘检测figure,imshow(BW);title(自动域值的prewitt算子边缘检测)BW,thresh=edge(I,prewitt);%返回当前Prewitt算子边缘检测的阈值disp(prewitt算子自动选择的阈值为:)disp(thresh)BW1=edge(I,prewitt,0.02,horizontal);%以域值为0.02水平方向对图像进行Prewitt算子边缘检测figure,imshow(BW1)title(域值为0.02的水平方向的prewitt算子检测)BW2=edge(I,prewitt,0.02,v

19、ertical);%以域值为0.02垂直方向对图像进行Prewitt算子边缘检测figure,imshow(BW2)title(域值为0.02的垂直方向的prewitt算子检测)BW3=edge(I,prewitt,0.05,horizontal);%以域值为0.05水平方向对图像进行Prewitt算子边缘检测figure,imshow(BW3)title(域值为0.05的水平方向的prewitt算子检测)BW4=edge(I,prewitt,0.05,vertical);%以域值为0.05垂直方向对图像进行Prewitt算子边缘检测figure,imshow(BW4)title(域值为0.05的垂直方向的prewitt算子检测)测试结果:prewitt算子自动选择的阈值为:0.1399

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

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