本文簡要介紹 python 語言中 scipy.ndimage.spline_filter1d
的用法。
用法:
scipy.ndimage.spline_filter1d(input, order=3, axis=-1, output=<class 'numpy.float64'>, mode='mirror')#
沿給定軸計算一維樣條濾波器。
沿給定軸的陣列線由樣條濾波器過濾。樣條的順序必須是 >= 2 和 <= 5。
- input: array_like
輸入數組。
- order: 整數,可選
樣條的階數,默認為 3。
- axis: 整數,可選
沿其應用樣條過濾器的軸。默認是最後一個軸。
- output: ndarray 或 dtype,可選
放置輸出的數組,或返回數組的 dtype。默認為
numpy.float64
。- mode: {‘reflect’、‘grid-mirror’、‘constant’、‘grid-constant’、‘nearest’、‘mirror’、‘grid-wrap’、‘wrap’},可選
模式參數確定輸入數組如何擴展到其邊界之外。默認為‘mirror’。每個有效值的行為如下(請參閱其他圖表和詳細信息邊界模式):
- ‘reflect’ (d c b a | a b c d | d c b a)
通過反射最後一個像素的邊來擴展輸入。此模式有時也稱為half-sample 對稱模式。
- ‘grid-mirror’
這是‘reflect’ 的同義詞。
- ‘constant’ (k k k k | a b c d |呸呸呸呸)
通過使用 cval 參數定義的相同常量值填充邊之外的所有值來擴展輸入。在輸入邊之外不執行插值。
- ‘grid-constant’ (k k k k | a b c d |呸呸呸呸)
通過使用 cval 參數定義的相同常量值填充邊之外的所有值來擴展輸入。插值也會發生在輸入範圍之外的樣本上。
- ‘nearest’ (啊啊啊啊| a b c d |嘀嘀嘀嘀)
通過複製最後一個像素來擴展輸入。
- ‘mirror’ (d c b | a b c d | c b a)
通過反射最後一個像素的中心來擴展輸入。此模式有時也稱為whole-sample 對稱模式。
- ‘grid-wrap’ (a b c d | a b c d | A B C D)
通過環繞到相對邊來擴展輸入。
- ‘wrap’ (d b c d | a b c d | b c a b)
輸入通過環繞到相反的邊來擴展,但是以某種方式使最後一個點和初始點完全重疊。在這種情況下,沒有很好地定義在重疊點將選擇哪個樣本。
- spline_filter1d: ndarray
過濾後的輸入。
參數 ::
返回 ::
注意:
ndimage 中的所有插值函數都對輸入圖像進行樣條插值。如果使用 B-splines of order > 1,則必須首先將輸入圖像值轉換為 B-spline 係數,這是通過沿輸入的所有軸順序應用此一維濾波器來完成的。所有需要B-spline 係數的函數都會自動過濾它們的輸入,這種行為可以通過 prefilter 關鍵字參數控製。對於接受模式參數的函數,隻有與過濾時使用的模式匹配,結果才會正確。
對於complex-valued 輸入,此函數獨立處理實部和虛部。
例子:
我們可以沿給定軸使用一維樣條過濾圖像:
>>> from scipy.ndimage import spline_filter1d >>> import numpy as np >>> import matplotlib.pyplot as plt >>> orig_img = np.eye(20) # create an image >>> orig_img[10, :] = 1.0 >>> sp_filter_axis_0 = spline_filter1d(orig_img, axis=0) >>> sp_filter_axis_1 = spline_filter1d(orig_img, axis=1) >>> f, ax = plt.subplots(1, 3, sharex=True) >>> for ind, data in enumerate([[orig_img, "original image"], ... [sp_filter_axis_0, "spline filter (axis=0)"], ... [sp_filter_axis_1, "spline filter (axis=1)"]]): ... ax[ind].imshow(data[0], cmap='gray_r') ... ax[ind].set_title(data[1]) >>> plt.tight_layout() >>> plt.show()
相關用法
- Python SciPy ndimage.spline_filter1d()用法及代碼示例
- Python SciPy ndimage.spline_filter用法及代碼示例
- Python SciPy ndimage.shift用法及代碼示例
- Python SciPy ndimage.sum_labels用法及代碼示例
- Python SciPy ndimage.standard_deviation用法及代碼示例
- Python SciPy ndimage.sobel用法及代碼示例
- Python SciPy ndimage.correlate用法及代碼示例
- Python SciPy ndimage.morphological_gradient用法及代碼示例
- Python SciPy ndimage.variance用法及代碼示例
- Python SciPy ndimage.correlate1d用法及代碼示例
- Python SciPy ndimage.binary_dilation用法及代碼示例
- Python SciPy ndimage.distance_transform_bf用法及代碼示例
- Python SciPy ndimage.find_objects用法及代碼示例
- Python SciPy ndimage.label用法及代碼示例
- Python SciPy ndimage.maximum_filter1d用法及代碼示例
- Python SciPy ndimage.iterate_structure用法及代碼示例
- Python SciPy ndimage.map_coordinates()用法及代碼示例
- Python SciPy ndimage.generic_laplace用法及代碼示例
- Python SciPy ndimage.generate_binary_structure用法及代碼示例
- Python SciPy ndimage.binary_opening用法及代碼示例
- Python SciPy ndimage.binary_fill_holes用法及代碼示例
- Python SciPy ndimage.maximum_filter用法及代碼示例
- Python SciPy ndimage.minimum_position用法及代碼示例
- Python SciPy ndimage.labeled_comprehension用法及代碼示例
- Python SciPy ndimage.grey_erosion用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.ndimage.spline_filter1d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。