题目
利用MATLAB编程,制作一张照片,分别加入高斯噪音和椒盐噪音。然而利用均值滤波和中值滤波分别对上述两种噪音进行去噪。
原图
1、添加椒盐噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
noiseIsp = imnoise(image,'salt & pepper',0.1); % 添加椒盐噪声,密度为0.1
imshow(noiseIsp,[0 1]);
title('椒盐噪声图像')
2、添加高斯噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
noiseIsp = imnoise(image,'gaussian',0.1); % 添加高斯噪声,默认值均为0,方差为0.01
imshow(noiseIsp,[0 1]);
title('高斯噪声图像')
3、均值滤波处理椒盐噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
% 因为filter2是对二维图像的处理,所以需要将图片转换成灰度图像
image_new = rgb2gray(image); % 将图像转换成灰度图像
noiseIsp = imnoise(image_new,'salt & pepper',0.1); % 添加椒盐噪声,默认值均为0,方差为0.01
imshow(noiseIsp);title('添加了椒盐噪声的灰度图像');
result = filter2(fspecial('average',3),noiseIsp); % 3x3均值滤波
figure;
imshow(result);
title('3x3均值滤波图像');
4、中值滤波处理椒盐噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
% 因为medfil2是对二维图像的处理,所以需要将图片转换成灰度图像
image_new = rgb2gray(image); % 将图像转换成灰度图像
noiseIsp = imnoise(image_new,'salt & pepper',0.1); % 添加椒盐噪声,默认值均为0,方差为0.01
imshow(noiseIsp);title('添加了椒盐噪声的灰度图像');
result = medfilt2(noiseIsp); % 3x3中值滤波
figure;
imshow(result);
title('3x3中值滤波图像');
5、均值滤波处理高斯噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
% 因为fliter2是对二维图像的处理,所以需要将图片转换成灰度图像
image_new = rgb2gray(image); % 将图像转换成灰度图像
noiseIsp = imnoise(image_new,'gaussian',0.1); % 添加高斯噪声,默认值均为0,方差为0.01
imshow(noiseIsp);title('添加了高斯噪声的灰度图像');
result = filter2(fspecial('average',3),noiseIsp); % 3x3均值滤波
figure;
imshow(result);
title('3x3均值滤波');
6、中值滤波处理高斯噪声
clear;clc;
image = mat2gray(imread('D:/1.jpg'),[0 255]);
% 因为medfilt2是对二维图像的处理,所以需要将图片转换成灰度图像
image_new = rgb2gray(image); % 将图像转换成灰度图像
noiseIsp = imnoise(image_new,'gaussian',0.1); % 添加高斯噪声,默认值均为0,方差为0.01
imshow(noiseIsp);title('添加了高斯噪声的灰度图像');
result = medfilt2(noiseIsp); % 3x3中值滤波
figure;
imshow(result);
title('3x3中值滤波图像');
转载:https://blog.csdn.net/qq_44921056/article/details/116951951
查看评论