Определите границы в многомерном массиве с заданной толщиной и установите для них определенное число - PullRequest
0 голосов
/ 02 мая 2019

У меня есть массив массивов 0-1 (двоичное изображение), и я хотел бы установить воксели границы на 0, если они находятся на определенном расстоянии от границы.Например, если расстояние = 5, все вокселы, удаленные <= 5 от границы изображения, будут установлены на 0. </p>

Практически, это противоположность этой операции (здесь в 2D), где толькоinside установлен на 0: https://www.w3resource.com/python-exercises/numpy/python-numpy-exercise-8.php

В данный момент я выполняю эту операцию для каждого направления, используя этот код, но я думаю, что есть лучший способ сделать это:

distance = 5

arr3D[:distance, :, :] = 0; arr3D[-distance:, :, :] = 0; #Z-direction
arr3D[:, :distance, :] = 0; arr3D[:, -distance:, :] = 0; #Y-direction
arr3D[:, :, :distance] = 0; arr3D[:, :, -distance:] = 0; #X-direction

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...