糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除

Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除

时间:2019-04-22 07:58:29

相关推荐

Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除

目录

Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除添加椒盐噪声均值滤波中值滤波完整代码

Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除

添加椒盐噪声

椒盐噪声(pepper&salt noise)由胡椒噪声(pepper noise)和盐噪声(salt noise)组成。一般因图像传感器,传输信道等处产生,由黑白相间的亮暗点噪声组成。

黑点可以看出胡椒,白点可以看成盐。

下面为使用matlab自带的函数对图像添加椒盐噪声的代码和添加后的结果。

I = imread('elaine.512.tiff');%读取图片I_PepperSalt=imnoise(I,'salt & pepper');% 添加椒盐噪声

均值滤波

均值滤波的原理是,滤波后的像素的值为其本身及周围9个像素值的平均值。如下图所示。

matlab自带实现均值滤波的函数,在这里,我们先自己实现一下。

clc;clear;I = imread('elaine.512.tiff'); %读取图片I_PepperSalt=imnoise(I,'salt & pepper'); % 添加椒盐噪声Mat = ones(3,3)/9; % 3×3均值滤波矩阵 [m,n] = size(I_PepperSalt); % 读取图像长和宽 I1 = double(I_PepperSalt); %将图像转换成double类型I2 = I1; for i=2:m-1 for j=2:n-1 %从去除边缘的像素开始滤波Mat2 = I1(i-1:i+1,j-1:j+1).*Mat;s = sum(Mat2(:));I2(i,j) = s;endendI3 = uint8(I2);%%图像对比figure;subplot(131)imshow(I);title('原始图像');subplot(132)imshow(I_PepperSalt);title('椒盐噪声图像');subplot(133)imshow(I3);title('均值滤波图像');

中值滤波

中值滤波则是将选取的3x3的像素块里的像素值按从小到大重新排列,选取中间的像素作为滤波后图像的像素。

同样的,matlab自带实现中值滤波的函数,在这里,我们首先也先自己实现一下。

clc;clear;I = imread('elaine.512.tiff'); %读取图片I_PepperSalt=imnoise(I,'salt & pepper'); % 添加椒盐噪声[m,n] = size(I_PepperSalt); % 读取图像长和宽 I1 = double(I_PepperSalt); %将图像转换成double类型I2 = I1; for i=2:m-1 for j=2:n-1 %从去除边缘的像素开始滤波Mat = I1(i-1:i+1,j-1:j+1);Mat2 = Mat(:);s=sort(Mat2); %对像素进行排序I2(i,j) = s(floor(9/2)+1); %选取中值endendI3 = uint8(I2);%%图像对比figure;subplot(131)imshow(I);title('原始图像');subplot(132)imshow(I_PepperSalt);title('椒盐噪声图像');subplot(133)imshow(I3);title('中值滤波图像');

完整代码

在这里,我们直接使用matlab里自带的函数进行实现。

I = imread('elaine.512.tiff');I2 = imnoise(I,'salt & pepper'); % 加入椒盐噪声H = fspecial('average',3); I3 = uint8(filter2(H, I2));I4 = medfilt2(I2,[3,3]);%%figure;subplot(221)imshow(I);title('原始图像');subplot(222)imshow(I2);title('椒盐噪声图像');subplot(223)imshow(I3);title('均值滤波图像');subplot(224)imshow(I4);title('中值滤波图像');

实验结果如下。

如果觉得《Matlab实现图像添加椒盐噪声及中值滤波/均值滤波去除》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。