correlate#
- scipy.ndimage.correlate(входные данные, веса, вывод=None, mode='reflect', cval=0.0, origin=0, *, оси=None)[источник]#
Многомерная корреляция.
Массив коррелирует с заданным ядром.
- Параметры:
- входные данныеarray_like
Входной массив.
- весаndarray
массив весов, то же количество измерений, что и вход
- выводмассив или dtype, опционально
Массив, в который будет помещен результат, или тип данных возвращаемого массива. По умолчанию будет создан массив того же типа данных, что и входной.
- mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional
The mode параметр определяет, как входной массив расширяется за пределы своих границ. По умолчанию 'reflect'. Поведение для каждого допустимого значения следующее:
- ‘reflect’ (d c b a | a b c d | d c b a)
Входные данные расширяются путем отражения относительно края последнего пикселя. Этот режим также иногда называют полувыборочной симметрией.
- ‘constant’ (k k k k | a b c d | k k k k)
Входные данные расширяются путем заполнения всех значений за границей одним и тем же постоянным значением, определенным cval параметр.
- ‘nearest’ (a a a a | a b c d | d d d d)
Входные данные расширяются путём репликации последнего пикселя.
- ‘mirror’ (d c b | a b c d | c b a)
Входные данные расширяются путем отражения относительно центра последнего пикселя. Этот режим также иногда называют симметрией целого образца.
- ‘wrap’ (a b c d | a b c d | a b c d)
Входные данные расширяются путём обёртывания вокруг противоположного края.
Для согласованности с функциями интерполяции можно также использовать следующие названия режимов:
- 'grid-mirror'
Это синоним для 'reflect'.
- ‘grid-constant’
Это синоним для 'constant'.
- ‘grid-wrap’
Это синоним для ‘wrap’.
- cvalскаляр, опционально
Значение для заполнения за краями ввода, если mode равно 'constant'. По умолчанию равно 0.0.
- originint или sequence, optional
Управляет размещением фильтра на пикселях входного массива. Значение 0 (по умолчанию) центрирует фильтр над пикселем, положительные значения сдвигают фильтр влево, а отрицательные — вправо. Передавая последовательность origins длиной, равной количеству измерений входного массива, можно задать разные сдвиги вдоль каждой оси.
- осикортеж из int или None, опционально
Если None, входные данные фильтруется по всем осям. В противном случае, входные данные фильтруется вдоль указанных осей. Когда оси если указан, любые кортежи, используемые для mode или origin должен соответствовать длине оси. i-й элемент в любом из этих кортежей соответствует i-му элементу в оси.
- Возвращает:
- результатndarray
Результат корреляции входные данные с веса.
Смотрите также
convolveСвёртка изображения с ядром.
Примеры
Корреляция - это процесс перемещения фильтрующей маски, часто называемой ядром, по изображению и вычисления суммы произведений в каждом месте.
>>> 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]])