我试图找到图像中像素的平均红色值。我写的代码如下:
path = "C:\\Users\\Ariana\\Pictures\\img.jpg"
img = PIL.Image.open(path)
imgarray = np.array(img)
reds = imgarray[:, 0]
avered = np.sum(reds)/len(reds)
print(avered)
输出应该最多为255,因为这是它可以保持的最高像素值,然而,当前输出为275,这应该是不可能的。
我试着在使用np.sum时指定一个轴,我试着使用普通的sum函数,但两种解决方案都输出一个数组作为答案。我是对数组切片不正确还是使用了不正确的np.sum?
1条答案
按热度按时间lrpiutwd1#
你得到2D数组,但然后除以 one 轴的长度而不是元素的数量,考虑下面的简单示例
为了避免这种情况,您可以使用
np.mean
函数