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


Python SciPy ndimage.correlate用法及代碼示例


本文簡要介紹 python 語言中 scipy.ndimage.correlate 的用法。

用法:

scipy.ndimage.correlate(input, weights, output=None, mode='reflect', cval=0.0, origin=0)#

多維相關。

該數組與給定的內核相關。

參數

input array_like

輸入數組。

weights ndarray

權重數組,與輸入的維數相同

output 數組或數據類型,可選

放置輸出的數組,或返回數組的 dtype。默認情況下,將創建一個與輸入具有相同 dtype 的數組。

mode {‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’},可選

mode 參數確定輸入數組如何擴展到其邊界之外。默認為‘reflect’。每個有效值的行為如下:

‘reflect’ (d c b a | a b c d | d c b a)

通過反射最後一個像素的邊來擴展輸入。此模式有時也稱為half-sample 對稱模式。

‘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 對稱模式。

‘wrap’ (a b c d | a b c d | A B C D)

通過環繞到相對邊來擴展輸入。

為了與插值函數保持一致,還可以使用以下模式名稱:

‘grid-mirror’

這是‘reflect’ 的同義詞。

‘grid-constant’

這是‘constant’ 的同義詞。

‘grid-wrap’

這是‘wrap’ 的同義詞。

cval 標量,可選

如果模式為‘constant’,則填充過去輸入邊的值。默認值為 0.0。

origin int 或序列,可選

控製過濾器在輸入數組像素上的位置。值 0(默認值)使過濾器以像素為中心,正值將過濾器向左移動,負值向右移動。通過傳遞長度等於輸入數組維數的原點序列,可以沿每個軸指定不同的移位。

返回

result ndarray

輸入與權重相關的結果。

例子

相關性是在圖像上移動通常稱為內核的過濾器掩碼並計算每個位置的乘積總和的過程。

>>> from scipy.ndimage import correlate
>>> import numpy as np
>>> input_img = np.arange(25).reshape(5,5)
>>> print(input_img)
[[ 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]]

為相關定義一個內核(權重)。在此示例中,它用於中心和上、下、左、右下一個元素的總和。

>>> weights = [[0, 1, 0],
...            [1, 1, 1],
...            [0, 1, 0]]

我們可以計算一個相關結果:例如,元素 [2,2]7 + 11 + 12 + 13 + 17 = 60

>>> correlate(input_img, weights)
array([[  6,  10,  15,  20,  24],
    [ 26,  30,  35,  40,  44],
    [ 51,  55,  60,  65,  69],
    [ 76,  80,  85,  90,  94],
    [ 96, 100, 105, 110, 114]])

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.ndimage.correlate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。