当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.filters.butterworth用法及代码示例


用法:

skimage.filters.butterworth(image, cutoff_frequency_ratio=0.005, high_pass=True, order=2.0, channel_axis=None)

应用巴特沃斯滤波器来增强高频或低频特征。

该滤波器在傅立叶域中定义。

参数

image(M[, N[, ..., P]][, C]) ndarray

输入图像。

cutoff_frequency_ratio浮点数,可选

确定 cut-off 相对于 FFT 形状的位置。

high_pass布尔型,可选

是否执行高通滤波器。如果为 False,则执行低通滤波器。

order浮点数,可选

影响cut-off 附近斜率的滤波器顺序。更高阶意味着频率空间中的斜率更陡。

channel_axis整数,可选

如果有渠道维度,请在此处提供索引。如果无(默认),则所有轴都假定为空间维度。

返回

resultndarray

Butterworth-filtered 图像。

注意

band-pass 滤波器可以通过组合高通和低通滤波器来实现。

文献包含巴特沃斯滤波器函数形式的多种约定。在这里,它被实现为 n 维形式

其中 是空间频率的绝对值, cutoff_frequency_ratio 是在[2]之后建模的order

参考

1

Butterworth, Stephen. “On the theory of filter amplifiers.” Wireless Engineer 7.6 (1930): 536-541.

2

Russ, John C., et al. “The image processing handbook.” Computers in Physics 8.2 (1994): 177-178.

例子

分别对灰度和彩色图像应用高通和低通巴特沃斯滤波器:

>>> from skimage.data import camera, astronaut
>>> from skimage.filters import butterworth
>>> high_pass = butterworth(camera(), 0.07, True, 8)
>>> low_pass = butterworth(astronaut(), 0.01, False, 4, channel_axis=-1)

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.filters.butterworth。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。