第七周作业:matlab分别对图片加入高斯噪音和椒盐噪音,然而利用均值滤波和中值滤波分别对上述两种噪音进行去噪。

726 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

题目

利用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中值滤波图像');

在这里插入图片描述