返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 人工智能|模式识别|机器学习|数字图像处理|SAR图像处理-不仅仅是MATLAB! > 数字图像处理|SAR图像处理 > [求助] 关于图像去噪的问题(附代码),求助大侠!!先谢谢了!


数字图像处理|SAR图像处理 A discussion board for Digital image processing & SAR image processing.



主题: [求助] 关于图像去噪的问题(附代码),求助大侠!!先谢谢了! 回复主题
您的用户名: 点击这里登录
图像验证
请输入图像中的六位数字或字母。

标题:
  
信息:
信息图标
您可以从下面的列表中选择信息图标:
 

附加选项
其他选项

主题回顾 (新帖在前)
2010-05-31 10:40 AM
shenjijia1986 麻烦大侠帮看一下!!!!!!!!!先谢谢了!!!!!!
2010-05-31 10:30 AM
shenjijia1986 请大虾们帮看一下!!!!!怎样用加权均值滤波去除高斯噪声????先谢谢了!!!!!!
2010-05-30 10:32 PM
shenjijia1986 各位大侠好:
我要实现基于直方图的高斯噪声滤波,我参考资料(关于去椒盐噪声的)实现了去除椒盐噪声的程序(加权中值法),那请问一下各位大侠,怎么才能用加权中值法去除高斯噪声?麻烦各位了,先谢谢了!

附代码:
I=imread('D:\Documents and Settings\Owner\实验2\2-原图.jpg');
figure(1);
subplot(3,2,1),imshow(I);%显示原图像
subplot(3,2,2),imhist(I);
J=imnoise(I,'salt & pepper',0.2);%加椒盐噪声
%J=imnoise(I,'gaussian',0.1);%加高斯噪声


subplot(3,2,3),imshow(J);%显示加椒盐噪声后的图像
subplot(3,2,4),imhist(J);
[m,n,k]=size(J);
newJ=J;% 随机生成一个矩阵newJ(m,n)
dj=double(J);

width_param=3;%窗口宽度参数
height_param=3;%窗口高度参数
window_width=2*width_param+1;
window_height=2*height_param+1;

%dj=uint8(dj);
%figure(4);
%subplot(2,2,1),imshow(dj);%显示加高斯噪声后的图像
%subplot(2,2,2),imhist(dj);

h=zeros(1,256);
for a=1:m %求和
for b=1:n
h(J(a,b)+1)=h(J(a,b)+1)+1;
end
end
w=zeros(1,256);
for huidu=1:256
w(huidu)=h(huidu)/(m*n);
end


G=J;
%初始化矩阵为1
for i=1:m
for j=1:n
G(i,j)=1;
end
end
grayMatrix=G;

for i=1:m
for j=1:n
max_value = 0;%最大灰度
min_value = 255;%最小灰度
i_min = i-width_param;
if(i_min<1)
i_min=1;
end

i_max = i+width_param;
if(i_max>255)
i_max=255;
end

j_min = j-height_param;
if(j_min<1)
j_min=1;
end

j_max = j+height_param;
if(j_max >255)
j_max =255;
end

for i1 =i_min:i_max;
for j1 =j_min:j_max;
if J(i1,j1)>max_value
max_value=J(i1,j1);
end

if J(i1,j1)<min_value
min_value=J(i1,j1);
end
end
end

if max_value==J(i,j) || min_value==J(i,j)
G(i,j)=0;%确认为噪声点

weight_sum=0;
sum=0;
%计算回测灰度值
for i1 =i_min:i_max;
for j1 =j_min:j_max;
weight_sum = weight_sum + w(J(i1,j1)+1);
sum=sum + J(i1,j1)*w(J(i1,j1)+1);
end
end

predict_value = sum/weight_sum;
grayMatrix(i,j)=predict_value;
end
end
end

for i=1:m
for j=1:n
if(G(i,j)==0)
J(i,j)=grayMatrix(i,j);
end
end
end


subplot(3,2,5),imshow(J);%显示加椒盐噪声后的图像
subplot(3,2,6),imhist(J);

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 07:01 AM


Powered by vBulletin
版权所有 ©2000 - 2019,Jelsoft Enterprises Ltd.

SEO by vBSEO ©2009, Crawlability, Inc.