我有图像,我需要找到它的平均颜色。但是np.mean()返回包括rgb值在内的所有元素的平均值。如何将平均值作为rgb颜色的数组?
np.mean(图片)返回6.142314
我需要这样的东西[2.31,4.4211,10.01]
答案 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