binary_hit_or_miss#
- scipy.ndimage.binary_hit_or_miss(входные данные, structure1=None, structure2=None, вывод=None, origin1=0, origin2=None, *, оси=None)[источник]#
Многомерное бинарное преобразование «попадание или промах».
Преобразование "попадание-промах" находит местоположения заданного шаблона внутри входного изображения.
- Параметры:
- входные данныеarray_like (приводится к булевым значениям)
Бинарное изображение, в котором нужно обнаружить шаблон.
- structure1array_like (приводится к булевым значениям), опционально
Часть структурирующего элемента, которая должна быть подогнана к переднему плану (ненулевым элементам) входные данные. Если значение не указано, выбирается структура квадратной связности 1.
- structure2array_like (приводится к булевым значениям), опционально
Вторая часть структурирующего элемента, которая должна полностью отсутствовать на переднем плане. Если значение не предоставлено, используется дополнение structure1 берётся.
- выводndarray, необязательно
Массив той же формы, что и входной, в который помещается результат. По умолчанию создаётся новый массив.
- origin1int или кортеж ints, опционально
Размещение первой части структурирующего элемента structure1, по умолчанию 0 для центрированной структуры.
- origin2int или кортеж ints, опционально
Размещение второй части структурирующего элемента structure2, по умолчанию 0 для центрированной структуры. Если указано значение для origin1 и не для origin2, затем origin2 установлено в origin1.
- осикортеж int или None
Оси, по которым применяется фильтр. Если None, входные данные фильтруется по всем осям. Если origin1 или origin2 если предоставлены кортежи, их длина должна соответствовать количеству осей.
- Возвращает:
- binary_hit_or_missndarray
Преобразование "попадание или промах" для входные данные с заданным структурирующим элементом (structure1, structure2).
Смотрите также
Ссылки
Примеры
>>> from scipy import ndimage >>> import numpy as np >>> a = np.zeros((7,7), dtype=int) >>> a[1, 1] = 1; a[2:4, 2:4] = 1; a[4:6, 4:6] = 1 >>> a array([[0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0]]) >>> structure1 = np.array([[1, 0, 0], [0, 1, 1], [0, 1, 1]]) >>> structure1 array([[1, 0, 0], [0, 1, 1], [0, 1, 1]]) >>> # Find the matches of structure1 in the array a >>> ndimage.binary_hit_or_miss(a, structure1=structure1).astype(int) array([[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]) >>> # Change the origin of the filter >>> # origin1=1 is equivalent to origin1=(1,1) here >>> ndimage.binary_hit_or_miss(a, structure1=structure1,\ ... origin1=1).astype(int) array([[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0]])