Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2010-05-30
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
各位大侠好:
我要实现基于直方图的高斯噪声滤波,我参考资料(关于去椒盐噪声的)实现了去除椒盐噪声的程序(加权中值法),那请问一下各位大侠,怎么才能用加权中值法去除高斯噪声?麻烦各位了,先谢谢了! 附代码: 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); |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2010-05-30
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
请大虾们帮看一下!!!!!怎样用加权均值滤波去除高斯噪声????先谢谢了!!!!!!
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2010-05-30
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
麻烦大侠帮看一下!!!!!!!!!先谢谢了!!!!!!
|
![]() |
![]() |