Реферат: Я ищу что-то вроде «numpy.nonzero», но с завихрением. Я хочу искать все индексы, которые содержат любой элемент в третьем измерении, который отличен от нуля. Если какой-либо элемент существует, дайте мне индексы для этого измерения.NumPy: индексы, где третье измерение отличное от нуля (маскирование изображений)
Детали: Мой проект включает в себя вхождение, разбор, а затем вывод модифицированных файлов изображений. Он начинается с преобразования изображения в массив 3D numpy. С помощью этого файла создается маска. Затем он использует «numpy.bitwise_and», чтобы найти, где бит-шаблон маски перекрывается с исходным изображением, а затем выполняет действия на основе этих индексов.
mask = create_mask(self.image) # spare array, same size as self.image
overlap = np.bitwise_and(self.image, mask)
indices = []
for y, row in enumerate(overlap):
for x, col in enumerate(row):
if any(col): # any RGB values are not 0
indices.append((y,x))
for (y, x) in indices:
pass # do stuff
Каков наилучший способ решения этой проблемы? Я уверен, что есть лучший способ, чем наивный подход, показанный выше.