Как узнать среднее значение пикселя изображения, сканируя его сверху и снизу? - PullRequest
0 голосов
/ 26 декабря 2018

Итак, у меня есть изображение, и я хочу отсканировать изображение сверху до 5 строк.После этого я хочу рассчитать среднее значение цвета пикселя отсканированной области.Как это сделать?

То же самое для сканирования снизу до 5 строк.Image to scan

1 Ответ

0 голосов
/ 26 декабря 2018

Вы можете использовать np.average :

img = cv2.imread('img.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #convert it to RGB channel
plt.imshow(img)

enter image description here

Давайте обрежем первые 1000 строк (первые 5строки на вашем изображении белые, поэтому среднее значение будет только 255).

crop_img = img[:1000, :]
plt.imshow(crop_img) 

enter image description here

Если вы хотите усреднить полное обрезанное изображение (котороевключает в себя 3 канала RGB) используйте:

np.average(crop_img)
> 221.7606454078586

Если вы хотите усреднить по 3 каналам, используйте:

np.average(crop_img, axis = (0,1))
array([219.85728484, 220.16578896, 225.25886241])

Если вы хотите просто усреднить по одному каналу, скажите красный:

np.average(crop_img[:, :, 0]) #replace 0 with 1 for green channel and with 2 for blue channel
219.85728484414187 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...