首页 热点资讯 义务教育 高等教育 出国留学 考研考公

matlab处理噪声的问题

发布网友 发布时间:2022-04-22 23:57

我来回答

2个回答

热心网友 时间:2023-07-12 14:30

俺茶饭不思,辗转反侧多年,程序如下:

%高斯噪声下的滤波

image=imread('bacteria.tif');
[m,n]=size(image);
image1=imnoise(image,'Gaussian',0,0.002); %加高斯噪声
image1=double(image1); %将uint8转换成双精度
figure,imagesc(image1),colormap(gray) %显示滤波前的图像

%Sigma滤波

image2=image1;

for i=3:m-2
for j=3:n-2
temp=image1(i-2:i+2,j-2:j+2);
q=std(temp(:));
max=image1(i,j)+2*q;
min=image1(i,j)-2*q;
temp1=zeros(5,5);
temp2=temp;
t=0;
for r=1:5
for s=1:5
if temp2(r,s)<=max & temp2(r,s)>=min
temp1(r,s)=temp2(r,s);
t=t+1;
else
temp1(r,s)=0;
end
end
end
tem=sum(temp1(:))/t;
image2(i,j)=tem;
end
end %做5×5的模板,计算模板的标准差σ,置信区间为当前像素值的±2σ范围。将模板中落在置信范围内的像素的均值替换原来的像素值

figure,imagesc(image2),colormap(gray) %显示滤波后的图像

加分!

热心网友 时间:2023-07-12 14:30

具体的内容(算法)没有细看,
看到你的运行错误,是说(你的那个if语句中):
MATLAB里面与、或操作应当是
&、|
而不是
&&、||

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com