matlab图像平滑处理,用邻域平均法和中值滤波法实现图像平滑处理。求源代码(要有注释)

2024年11月28日 08:46
有1个网友回答
网友(1):

%%中值
I=imread('lena.bmp'); %读原图
J1=imnoise(I,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声
J2=imnoise(I,'gaussian',0.02); %加均值为0,方差为0.02的高斯噪声。
subplot(2,2,1),imshow(J1); %显示有椒盐噪声图像
subplot(2,2,2),imshow(J2); %显示有高斯噪声图像
I1= medfilt2(J1,[5,5]); %对有椒盐噪声图像进行5×5方形窗口中值滤波
I2= medfilt2(J2,[5,5]); %对有高斯噪声图像进行5×5方形窗口中值滤波
subplot(2,2,3),imshow(I1); %显示有椒盐噪声图像的滤波结果
subplot(2,2,4),imshow(I2); %显示有高斯噪声图像的滤波结果

%%均衡

I=imread('lena.bmp'); %将图读入到I
imshow(I); %显示图像
figure,imhist(I); %直方图
I2=histeq(I); %均衡化
figure;imshow(I2); %处理后图像显示
figure;imhist(I2); %均衡化后直方图
imwrite(I2,'lena2.bmp'); %保存图像