代数加法运算去除高斯噪声及matlab实现

来源:互联网 发布:知画的孩子叫什么 编辑:程序博客网 时间:2024/06/10 05:48

分析:加法运算可以用来去除不相关均值为0 的噪声。
代码:

clearI=imread('eight.tif');subplot(131)imshow(I);[m,n]=size(I);J=imnoise(I,'gaussian',0,0.02);%加入高斯噪声subplot(132)imshow(J);K=zeros(m,n);for i=1:100    J=imnoise(I,'gaussian',0,0.02);    J1=im2double(J);    K=K+J1;%代数加法运算,去除噪声endK=K/100;K=(im2uint8(K));max=K(1,1);min=K(1,1);for i=1:m-1    for j=1:n-1        if (min>K(i,j))        min=K(i,j);%取图中最小灰度值        end        if(max<K(i,j))            max=K(i,j);%取图中最大灰度值        end    endendsubplot(231)imshow(I);title('原图');colorbar;subplot(232)imshow(J);title('加入高斯噪声');colorbar;subplot(234)imshow(K,[]);colorbar;title('自动取灰度范围');subplot(235)imshow(K,[min,max]);colorbar;title('设置灰度范围');subplot(236)imshow(K);colorbar;title('默认全灰度范围');

效果:
这里写图片描述
注意: 对于imshow()的第二个参数【】,若省略,则为【0,255】;若只有【】,效果与【min,max】相同。

原创粉丝点击