本文簡要介紹 python 語言中 scipy.signal.medfilt2d
的用法。
用法:
scipy.signal.medfilt2d(input, kernel_size=3)#
對二維數組進行中值過濾。
使用 kernel_size 給出的局部 window-size 對輸入數組應用中值濾波器(必須是奇數)。該數組自動用零填充。
- input: array_like
二維輸入數組。
- kernel_size: 數組,可選
標量或長度為 2 的列表,給出每個維度中中值濾波器窗口的大小。 kernel_size 的元素應該是奇數。如果kernel_size是標量,則該標量用作每個維度的大小。默認大小為 (3, 3) 的內核。
- out: ndarray
與包含中值過濾結果的輸入大小相同的數組。
參數 ::
返回 ::
注意:
當輸入數據類型為
uint8
、float32
或float64
時,這比medfilt
更快;對於其他類型,這會回退到medfilt
。在某些情況下,scipy.ndimage.median_filter
可能比該函數更快。例子:
>>> import numpy as np >>> from scipy import signal >>> x = np.arange(25).reshape(5, 5) >>> x array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]])
# 將 i,j 替換為 5*5 窗口中的中值
>>> signal.medfilt2d(x, kernel_size=5) array([[ 0, 0, 2, 0, 0], [ 0, 3, 7, 4, 0], [ 2, 8, 12, 9, 4], [ 0, 8, 12, 9, 0], [ 0, 0, 12, 0, 0]])
# 將 i,j 替換為默認 3*3 窗口中的中值
>>> signal.medfilt2d(x) array([[ 0, 1, 2, 3, 0], [ 1, 6, 7, 8, 4], [ 6, 11, 12, 13, 9], [11, 16, 17, 18, 14], [ 0, 16, 17, 18, 0]])
# 將 i,j 替換為默認 5*3 窗口中的中值
>>> signal.medfilt2d(x, kernel_size=[5,3]) array([[ 0, 1, 2, 3, 0], [ 0, 6, 7, 8, 3], [ 5, 11, 12, 13, 8], [ 5, 11, 12, 13, 8], [ 0, 11, 12, 13, 0]])
# 將 i,j 替換為默認 3*5 窗口中的中值
>>> signal.medfilt2d(x, kernel_size=[3,5]) array([[ 0, 0, 2, 1, 0], [ 1, 5, 7, 6, 3], [ 6, 10, 12, 11, 8], [11, 15, 17, 16, 13], [ 0, 15, 17, 16, 0]])
# 如示例所示, # 內核編號必須是奇數且不能超過原始數組 dim
相關用法
- Python SciPy signal.max_len_seq用法及代碼示例
- Python SciPy signal.morlet用法及代碼示例
- Python SciPy signal.minimum_phase用法及代碼示例
- Python SciPy signal.morlet2用法及代碼示例
- Python SciPy signal.czt_points用法及代碼示例
- Python SciPy signal.chirp用法及代碼示例
- Python SciPy signal.residue用法及代碼示例
- Python SciPy signal.iirdesign用法及代碼示例
- Python SciPy signal.kaiser_atten用法及代碼示例
- Python SciPy signal.oaconvolve用法及代碼示例
- Python SciPy signal.hilbert用法及代碼示例
- Python SciPy signal.ricker用法及代碼示例
- Python SciPy signal.group_delay用法及代碼示例
- Python SciPy signal.cheb2ord用法及代碼示例
- Python SciPy signal.get_window用法及代碼示例
- Python SciPy signal.lfilter用法及代碼示例
- Python SciPy signal.coherence用法及代碼示例
- Python SciPy signal.dfreqresp用法及代碼示例
- Python SciPy signal.TransferFunction用法及代碼示例
- Python SciPy signal.dbode用法及代碼示例
- Python SciPy signal.residuez用法及代碼示例
- Python SciPy signal.bilinear_zpk用法及代碼示例
- Python SciPy signal.firls用法及代碼示例
- Python SciPy signal.impulse用法及代碼示例
- Python SciPy signal.buttord用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.medfilt2d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。