ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Salt Pepper噪声以及使用median filter来减少噪声

2022-03-05 05:31:07  阅读:211  来源: 互联网

标签:Pepper img 噪声 median 像素 filter new size


文章首发于个人博客:https://xydida.com/2022/2/27/ComputerVision/salt-and-pepper-noise/,转载请联系作者。

处理图像时,我们用的图片往往都会有很多噪声。在黑暗中或是设备感光器受到影响,拍出来的图像就会有很多噪声,俗称“噪点”,Salt & Pepper就是其中一种。为什么会叫盐和胡椒粉?因为这些噪声不是白的就是黑的,看起来很像是在图片上撒了盐和胡椒粉,而更专业点的会叫它脉冲噪声,这是在图像信号中突然且尖锐的(sudden and sharp)扰动导致图片变得粗糙。

添加噪声

手动制造Salt Pepper噪声:

function salt_pepper()
img=double(imread('fruit_market.jpg')) ./ 255;

rows=size(img,1);
cols=size(img,2);

r=reshape(img(:,:,1),1,[]);
g=reshape(img(:,:,2),1,[]);
b=reshape(img(:,:,3),1,[]);

snp=rand(1, rows * cols) <= .1;

for z=1:length(snp)
    if snp(z)
        rn=round(rand());
        r(z)=rn;
        g(z)=rn;
        b(z)=rn;
    end
end

img_out=reshape(r, rows, cols);
img_out(:,:,2)=reshape(g, rows, cols);
img_out(:,:,3)=reshape(b, rows, cols);

figure;
subplot(1,2,1);
imshow(img);
subplot(1,2,2);
imshow(img_out);
end

运行效果:

放大看就是黑色和白色的点:

强度图

上面提到Salt Pepper噪声是脉冲噪声,突然且尖锐的干扰信号造成原始图像信号抖动,那我再来对比下图片的强度(intensity),上代码:

>> x=[0 size(img, 2)];
>> y=[size(img,1)/2 size(img,2)/2];

>> c=improfile(img,x,y);
>> figure;
>> subplot(1,2,1);
>> imshow(img);
>> hold on;
>> plot(x,y,'r');
>> subplot(1,2,2);
>> plot(c(:,1,1), 'g');

效果:

上半部分红线所在的像素,下半部分是像素green通道的强度图,因为彩色图片有r,g,b三通道。再来看看加过噪音后的图:

代码差不多,就不贴了。可以明显看到加了噪音后线图非常不稳定,为了加强效果,我把两个折线图放在一起:

可见,像素中细微的差别到图片的强度图中都会被放大。

降噪

处理图片噪声的方法有很多,这里要介绍的是Median Filter,主要原理是将滑动窗口中的像素点排序后取中位数作为新的像素点,如下图:

实际测试中,我们使用3x3窗口,实际效果:

上代码:

% median filter
new_h=H-2;
new_w=W-2;
filter_img=zeros(new_h, new_w);

for p=1:C
    for j=2:new_h-1
        for i=2:new_w-1
            t=median(reshape(img_out(j-1:j+1,i-1:i+1,p), 1,9));
            filter_img(j,i,p)=t;
        end
    end
end

subplot(1,2,2);
imshow(filter_img);

上图使用了10%的噪点率,提高到25%看看:

可以看到median filter起到了很大的效果,但同时我们可以看到,广告牌上原本的字体更模糊了。原因呢,是因为取了中位数后,像素中的最大值,最小值受到影响,换句话说就是图像本身也带有高频和低频信号,一番操作过后,这些信号得到削弱,自然就变得模糊(Blurry)了,再看看广告牌的边,变“毛”了,这也是Median filter带来的另一个副作用,产生更多冗余像素。

©️版权所有,转载请联系作者

标签:Pepper,img,噪声,median,像素,filter,new,size
来源: https://www.cnblogs.com/bilberry/p/15966903.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有