如何在numpy中获得平均值作为它们的数组

时间:2018-04-04 13:17:16

标签: python image numpy

我有图像,我需要找到它的平均颜色。但是np.mean()返回包括rgb值在内的所有元素的平均值。如何将平均值作为rgb颜色的数组?

np.mean(图片)返回6.142314

我需要这样的东西[2.31,4.4211,10.01]

1 个答案:

答案 0 :(得分:0)

演示:

In [228]: from PIL import Image

In [229]: im = Image.open(filename)

In [230]: arr = np.array(im.convert('RGB'))

In [231]: arr.mean(axis=(0,1))
Out[231]: array([216.57815122, 191.43917359, 211.62774556])

使用OpenCV:

In [238]: import cv2

In [239]: im = cv2.imread(filename)

In [250]: b,g,r = im.mean(axis=(0,1))

In [251]: r
Out[251]: 216.57815122463762

In [252]: g
Out[252]: 191.43917359086018

In [253]: b
Out[253]: 211.62774556460369