用matlab对具有高斯和椒盐噪声的图象进行3*3,5*5,7*7和11*11的中值处理并分析比较结果;噪声的产生可以使用imnoise
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 17:03:14
![用matlab对具有高斯和椒盐噪声的图象进行3*3,5*5,7*7和11*11的中值处理并分析比较结果;噪声的产生可以使用imnoise](/uploads/image/z/10317760-16-0.jpg?t=%E7%94%A8matlab%E5%AF%B9%E5%85%B7%E6%9C%89%E9%AB%98%E6%96%AF%E5%92%8C%E6%A4%92%E7%9B%90%E5%99%AA%E5%A3%B0%E7%9A%84%E5%9B%BE%E8%B1%A1%E8%BF%9B%E8%A1%8C3%2A3%2C5%2A5%2C7%2A7%E5%92%8C11%2A11%E7%9A%84%E4%B8%AD%E5%80%BC%E5%A4%84%E7%90%86%E5%B9%B6%E5%88%86%E6%9E%90%E6%AF%94%E8%BE%83%E7%BB%93%E6%9E%9C%EF%BC%9B%E5%99%AA%E5%A3%B0%E7%9A%84%E4%BA%A7%E7%94%9F%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8imnoise)
用matlab对具有高斯和椒盐噪声的图象进行3*3,5*5,7*7和11*11的中值处理并分析比较结果;噪声的产生可以使用imnoise
用matlab对具有高斯和椒盐噪声的图象进行3*3,5*5,7*7和11*11的中值处理并分析比较结果;噪声的产生可以使用imnoise
用matlab对具有高斯和椒盐噪声的图象进行3*3,5*5,7*7和11*11的中值处理并分析比较结果;噪声的产生可以使用imnoise
刚刚做完,运行没问题的,就贴给你吧.7×7、11×11你自己改啦!
哈哈,第一次在百度知道回答问题……
clear;
clc;
I=imread('红萝卜[灰白].JPG');
[a,b]=size(I);
figure
subplot(1,2,1);imshow(I);title('灰白原图');
K=imnoise(I,'salt & pepper',0.02);
[a,b]=size(K);
subplot(1,2,2);imshow(K);title('加椒盐噪声后图像');
%3*3中值滤波
for i=1:a
for j=1:b
if(i==1|i==a|j==1|j==b)
G(i,j)=K(i,j);
else
temp(1)=K(i-1,j-1);
temp(2)=K(i-1,j);
temp(3)=K(i-1,j+1);
temp(4)=K(i,j-1);
temp(5)=K(i,j);
temp(6)=K(i,j+1);
temp(7)=K(i+1,j-1);
temp(8)=K(i+1,j);
temp(9)=K(i+1,j+1);
temp=sort(temp);
G(i,j)=temp(5);
end
end
end
figure
subplot(1,2,1);imshow(G);title('3×3中值滤波后的图像');
%5*5中值滤波
for i=1:a
for j=1:b
if(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)
G5(i,j)=K(i,j);
else
temp(1)=K(i-2,j-2);
temp(2)=K(i-2,j-1);
temp(3)=K(i-2,j);
temp(4)=K(i-2,j+1);
temp(5)=K(i-2,j+2);
temp(6)=K(i-1,j-2);
temp(7)=K(i-1,j-1);
temp(8)=K(i-1,j);
temp(9)=K(i-1,j+1);
temp(10)=K(i-1,j+2);
temp(11)=K(i,j-2);
temp(12)=K(i,j-1);
temp(13)=K(i,j);
temp(14)=K(i,j+1);
temp(15)=K(i,j+2);
temp(16)=K(i+1,j-2);
temp(17)=K(i+1,j-1);
temp(18)=K(i+1,j);
temp(19)=K(i+1,j+1);
temp(20)=K(i+1,j+2);
temp(21)=K(i+2,j-2);
temp(22)=K(i+2,j-1);
temp(23)=K(i+2,j);
temp(24)=K(i+2,j+1);
temp(25)=K(i+2,j+2);
temp=sort(temp);
G5(i,j)=temp(13);
end
end
end
subplot(1,2,2);imshow(G5);title('5×5中值滤波后的图像');