• 大小: 13.95MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-16
  • 语言: Matlab
  • 标签: matlab  

资源简介

matlab 噪声与滤波去噪的源代码 还有不同噪声和滤波的对比分析文档

资源截图

代码片段和文件信息

M = imread(‘a.jpg‘);           
gray = rgb2gray(M);
figure;
subplot(321)imshow(M);                %显示原始图像
title(‘原图‘);
subplot(322)imshow(gray);                         %显示灰度图像
title(‘灰度图‘);
P1 = imnoise(gray‘gaussian‘0.02);     %加入高斯躁声 
P2 = imnoise(gray‘salt & pepper‘0.02); %加入椒盐躁声
subplot(323)imshow(P1);                        %加入高斯躁声后显示图像
title(‘高斯噪声(方差为0.02)‘);
subplot(324)imshow(P2);                        %加入椒盐躁声后显示图像  
title(‘椒盐噪声(方差为0.02)‘);
P3 = imnoise(gray‘gaussian‘0.1);     %加入高斯躁声 
P4 = imnoise(gray‘salt & pepper‘0.1); %加入椒盐躁声
subplot(325)imshow(P3);                        %加入高斯躁声后显示图像
title(‘高斯噪声(方差为0.1)‘);
subplot(326)imshow(P4);                        %加入椒盐躁声后显示图像  
title(‘椒盐噪声(方差为0.1)‘);

%对高斯噪声高斯加权3
n = 3;
template = ones(n);
[height width] = size(P1);
x1 = double(P1);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1).*template;
        s = sum(sum(c));
        x2(i+(n-1)/2j+(n-1)/2) = s/(n*n);
    end
end
g = uint8(x2);
figure;
subplot(221)imshow(g);
title(‘高斯噪声高斯加权滤波(3*3)‘);

%对高斯噪声高斯加权5
n = 5;
template = ones(n);
[height width] = size(P1);
x1 = double(P1);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1).*template;
        s = sum(sum(c));
        x2(i+(n-1)/2j+(n-1)/2) = s/(n*n);
    end
end
g = uint8(x2);
subplot(222)imshow(g);
title(‘高斯噪声高斯加权滤波(5*5)‘);

%对椒盐噪声高斯加权3
n = 3;
template = ones(n);
[height width] = size(P2);
x1 = double(P2);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1).*template;
        s = sum(sum(c));
        x2(i+(n-1)/2j+(n-1)/2) = s/(n*n);
    end
end
g = uint8(x2);
subplot(223)imshow(g);
title(‘椒盐噪声高斯加权滤波(3*3)‘);

%对椒盐噪声高斯加权5
n = 5;
template = ones(n);
[height width] = size(P2);
x1 = double(P2);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1).*template;
        s = sum(sum(c));
        x2(i+(n-1)/2j+(n-1)/2) = s/(n*n);
    end
end
g = uint8(x2);
subplot(224)imshow(g);
title(‘椒盐噪声高斯加权滤波(5*5)‘);

%对高斯躁声中值滤波3
n=3;
[height width] = size(P1);
x1 = double(P1);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1);
        e = c(1:);
        for f = 2:n
            e = [e c(f :)];
        end
        tmp = median(e);
        x2(i+(n-1)/2j+(n-1)/2) = tmp;
    end
end
a = uint8(x2);
figure;
subplot(221)imshow(a);
title(‘高斯噪声中值滤波(3*3)‘);

%对高斯躁声中值滤波5
n=5;
[height width] = size(P1);
x1 = double(P1);
x2 = x1;
for i = 1:height-n+1
    for j = 1:width-n+1
        c = x1(i:i+n-1j:j+n-1);
        e = c(1:);
        for f = 2:n
            e = [e c(f :)];
        end
        tmp = median(e);
        x2(i+(n-1)/2j+(n-1)/2) = tmp;
    end
end
a = uint8(x2);
subplot(222)imshow(a);
title(‘高斯噪声中值滤波(5*5)‘);

%对椒盐躁声中值滤波3
n=3;
[height width] = size(P2);
y1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     160345  2018-09-26 22:02  a.jpg

     文件       4716  2018-09-29 17:49  Untitled.m

     文件   14467055  2018-09-29 18:06  噪声与去噪对比分析.docx

----------- ---------  ---------- -----  ----

             14632116                    3


评论

共有 条评论