用matlab,选一幅图像,加入椒盐噪声后,对其进行中值滤波和均值滤波,对比其效果。
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'); %保存图像
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'); %保存图像
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询