当前位置:   article > 正文

巴特沃斯滤波器和同态滤波_同态滤波图片

同态滤波图片

巴特沃斯滤波器和同态滤波

一、一阶Butterworth低通滤波器频域滤波

1.算法描述

(1)先对空域图像乘上(-1)^(x+y),使得图像变换到频域后的低频部分集中在图像正中央。

(2)然后进行快速傅里叶变换转至频域,此时真正的低频部分围绕在(height/2, width/2)周围,

(3)用一阶BLPF滤掉这个范围以外的高频成分,

(4)然后傅里叶反变换回空域并取实部,

(5)再次乘上(-1)^(x+y)反中心变换,得到的图像就是滤波后的图像了。

(6)上述步骤中,也可以不乘(-1)^(x+y)进行中心变换,不过要正确意识到,不进行中心变换的频域图像的中心是高频部分,这时要把四角以外的部分滤掉。可以用(min(x,height-x),min(y,width-y))这样的坐标作为当前H(i,j)的坐标,这样就会更多地滤掉中心处的高频部分。

(7)在空域上,滤波后的空域图像会减少高频噪声,但D0的大小选择也决定了图像本身的高频成分丢失情况,D0取得越小,图像丢失的细节越多。

(8)在频域上,进行过中心变换的频域图像的中心是低频部分,内容会被保留。越往外的高频部分就越会被过滤掉,这样滤波后,频域图像内容基本就集中在中心附近了。

2.Matlab代码

(1)函数BLPF(一阶Butterworth低通滤波):

BLPF.m

function H = BLPF( D0, height, width )
    for i = 1 : height
        x = i - (height / 2);
        for j = 1 : width
            y = j - (width / 2);
            H(i, j) = 1 / (1 + (x ^ 2 + y ^ 2) / (D0 ^ 2));
        end
    end
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
(2)函数Centralize(中心变换):

Centralize.m

function mat =
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/78414
推荐阅读
相关标签
  

闽ICP备14008679号