у меня есть этот массив в результате вычитания двух изображений после получения там целых значений RGB в качестве массивовВыясните индексы элементов массива
arr = img1 - img2
[[[0 0 0]
[0 0 0]
[0 0 0]
...,
[0 0 0]
[0 0 0]
[0 0 0]]
...,
[[0 0 0]
[0 0 0]
[0 0 0]
...,
[0 0 0]
[0 0 0]
[0 0 0]]]
я использовал эти строки коды, чтобы изменить форму массива на добавить индексы каждого пикселя вычитанием
x, y, z = arr.shape
indices = np.vstack(np.unravel_index(np.arange(x*y), (y, x))).T
result = np.hstack((arr.reshape(x*y, z), indices))
и вот какой результат выглядит следующим образом:
[[ 0 0 0 0 0]
[ 0 0 0 0 1]
[ 0 0 0 0 2]
...,
[ 0 0 0 511 509]
[ 0 0 0 511 510]
[ 0 0 0 511 511]]
первые три значения в каждой строке - это разность RGB, а последние два значения - это индексы X и Y . Мой вопрос здесь, есть ли эффективный способ найти индексы ненулевых значений?
- это мой ответ, что вы ищете? – jimh