У меня есть три значения цвета BGR (хранятся в числовых массивах), и я хочу вычислить их среднее значение (для каждого элемента, чтобы получить массив пустышек, который выглядит следующим образом: [meanB, meanG, meanR]).
Это довольно простая задача, и я нашел способ сделать это:
import numpy as np
bgr1 = np.array([6, 149, 254])
bgr2 = np.array([5, 146, 251])
bgr3 = np.array([5, 149, 251])
bgr_mean = ((bgr1 + bgr2 + bgr3) / 3).astype(int)
print(bgr_mean)
с выводом, как и ожидалось:
[5 148 252]
Моя проблема в том, что когда я реализую это в своем коде, он не дает того же результата вообще, несмотря на то, что значение и тип каждого элемента одинаковы.Этот код:
bgr1 = button_image[0][x]
print("bgr1 = " + str(bgr1))
print(type(bgr1))
bgr2 = button_image[0][x-1]
print("bgr2 = " + str(bgr2))
bgr3 = button_image[1][x+1]
print("bgr3 = " + str(bgr3))
bgr_mean = ((bgr1 + bgr2 + bgr3) / 3).astype(int)
print("bgr_mean = " + str(bgr_mean))
вывод:
bgr1 = [6 149 254]
класс 'numpy.ndarray'
bgr2 =[5 146 251]
bgr3 = [5 149 251]
bgr_mean = [5 62 81]
Button_image представляет собой изображение BGR с пустым массивом, и x(тип int) - это середина (ось X, DUH) изображения.Мой тестовый сценарий находится в том же проекте, что и другой код, с использованием Python 3.7.4 и той же версткой версии (1.16.3)
Это мой первый вопрос, поэтому я надеюсь, что написал правильно, заранее спасибоесли у вас есть представление о том, что это вызвало.