图像平滑2-空间与低通滤波

频率域滤波可以用空间域卷积来实现。

中值滤波(median filter)

  • 概念
    中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。

  • 作用

    1. 中值滤波对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。这些优良特性是线性滤波方法所不具有的。
    2. 中值滤波法对消除椒盐噪声非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.
  • 因素

    1. 邻域空间范围。
    2. 中值计算中涉及像素数。

图像平滑2-空间与低通滤波_第1张图片

code

clear all

load ('lena512.mat');
pic=uint8(lena512);
pic=imnoise(pic,'salt & pepper',0.1);
N=3;

picFilter=lowFilter(N,pic);
subplot(121)
imshow(pic)
title('original image')
subplot(122)
imshow(picFilter)
title('media filter image')

function [picFilter]=lowFilter(N,pic)

Nmid=(N-1)/2;
[m,n]=size(pic);

for i=1:m
    mb=i-Nmid;
    me=i+Nmid;
    if mb<1
            mb=1;
    end
    if me>m
            me=m;
    end
    for j=1:n       
        nb=j-Nmid;
        ne=j+Nmid;        
        if nb<1
            nb=1;
        end       
        if ne>n
            ne=n;
        end
        picFilter(i,j)=median(reshape(pic(mb:me,nb:ne),numel(pic(mb:me,nb:ne)),1));

    end
end
picFilter=uint8(picFilter);
end

你可能感兴趣的:(图像预处理)