Я не очень хорошо знаком с моделью памяти массивов Numpy. Есть ли более эффективный способ (или «лучший способ») вычисления нормализованной версии изображения? То есть изображение такое, что для каждого пикселя r+g+b == 1
.Хороший способ реализовать фильтр нормализации в numpy
Возможно использование более ориентированного на матрицу подхода? У такого фильтра есть имя?
Вот код, который я до сих пор (игнорируя деление на ноль ошибок):
def normalize(image):
lines, columns, depth = image.shape
normalized = np.zeros(image.shape)
for i in range(lines):
for j in range(columns):
normalized[i,j] = image[i,j]/float(np.sum(image[i,j]))
return normalized
Где изображение является np.array
глубины 3.
Благодарности
Ницца! Это именно то, что я имел в виду. Обратите внимание, что можно использовать 'np.float64 (image)', чтобы избежать целочисленного деления. – fouronnes