实验三常用图像滤波方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三常用图像滤波方法

一、实验目的

1、熟悉并掌握MATLAB图像处理工具箱的使用;

2、理解并掌握常用的图像的滤波技术。

二、实验环境

MATLAB 6.5以上版本、WIN XP或WIN7计算机

三、相关知识

1 imnoise

imnoise函数用于对图像生成模拟噪声,如:

i=imread('e:\w01.tif');

j=imnoise(i,'gaussian',0,0.02);模拟均值为0方差为0.02的高斯噪声,j=imnoise(i,'salt&pepper', 0.04) 模拟叠加密度为0.04的椒盐噪声

2 fspecial

fspecial函数用于产生预定义滤波器,如:

h=fspecial('sobel');%sobel水平边缘增强滤波器

h=fspecial('gaussian');%高斯低通滤波器

h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器

h=fspecial('average');%均值滤波器

3 基于卷积的图像滤波函数

imfilter函数,filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如:

i=imread('e:\w01.tif');

h=[1,2,1;0,0,0;-1,-2,-1];%产生Sobel算子的水平方向模板

j=filter2(h,i);

或者:

h = fspecial(‘prewitt’)

I = imread('cameraman.tif');

imshow(I);

H = fspecial('prewitt‘); %预定义滤波器

M = imfilter(I,H);

imshow(M)

或者:

i=imread('e:\w01.tif');

h=[1,1,1;1,1,1;1,1,1];

h=h/9;

j=conv2(i,h);

4 其他常用滤波举例

(1)中值滤波

medfilt2函数用于图像的中值滤波,如:

i=imread('e:\w01.tif');

j=medfilt2(i,[M N]);对矩阵i进行二维中值滤波,领域为M*N,缺省值为3*3

(2)利用拉氏算子锐化图像, 如:

i=imread('e:\w01.tif');

j=double(i);

h=[0,1,0;1,-4,0;0,1,0];%拉氏算子

k=conv2(j,h,'same');

三、实验步骤

1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7

2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波

3、采用三种不同算子对图像进行锐化处理。

四、实验总结

1、比较不同平滑滤波器的处理效果,分析其优缺点

2、比较不同锐化滤波器的处理效果,分析其优缺点

相关文档
最新文档