Matlab实现图像滤波
一、实验目的
1.实现图片添加高斯白噪声,椒盐噪声,泊松噪声,乘性噪声等并进行比较;
2.实现图片进行均值滤波,中值滤波,高斯滤波,拉普拉斯滤波等处理;
二、实验步骤
1.读取图片
image=imread(‘test2.bmp’); %读取图片
subplot(5,2,1); %指定显示图片位置为5乘2矩阵第1个位置
imshow(image),title(‘原图’); %显示所读取的图片并命名为原图
2.创建滤波器
f1=fspecial(‘average’,[5,5]); %均值滤波器,算子大小为[5,5]
f2=fspecial(‘gaussian’,[5,5],1); %高斯滤波器,算子大小为[5,5],标准差为1
f3=fspecial(‘laplacian’,0);
%拉普拉斯滤波器,0用来决定滤波器形状,取值在[0,1]
3.对图片加高斯白噪声
image1=imnoise(image, ‘gaussian’, 0, 0.02);
%对图片加高斯白噪声,均值0,方差0.02
subplot(5,2,2); %指定显示图片位置为5乘2矩阵第2个位置
imshow(image1),title(‘原图中加入高斯白噪声’);
4.对图片加0均值高斯白噪声
[m,n]=size(image); %查看读取图片的大小
v=rand(m,n); %随机生成一个矩阵
image2=imnoise(image,‘localvar’,v); %对图片加0均值高斯白噪声
subplot(5,2,3); %指定显示图片位置为5乘2矩阵第3个位置