當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。