Python 如何找出图像的平均像素值,从上到下扫描?

Python 如何找出图像的平均像素值,从上到下扫描?,python,numpy,opencv,Python,Numpy,Opencv,所以,我有一个图像,我想从顶部扫描到5行。然后,我想计算扫描区域的平均像素颜色值。怎么做 从底部扫描至5行时相同。 您可以使用: 让我们裁剪前1000行图像中的前5行为白色,因此平均值仅为255 crop_img = img[:1000, :] plt.imshow(crop_img) 如果要平均包括3个通道RGB的完整裁剪图像,请使用: np.average(crop_img) > 221.7606454078586 如果要平均3个以上的频道,请使用: np.average(cro

所以,我有一个图像,我想从顶部扫描到5行。然后,我想计算扫描区域的平均像素颜色值。怎么做

从底部扫描至5行时相同。 您可以使用:

让我们裁剪前1000行图像中的前5行为白色,因此平均值仅为255

crop_img = img[:1000, :]
plt.imshow(crop_img) 
如果要平均包括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 

类似地,您可以使用

您是否可以扩展您所说的从顶部扫描到5行的意思?你的意思是取前5行像素吗?老实说,这是一个写得很好的答案-非常感谢!
np.average(crop_img[:, :, 0]) #replace 0 with 1 for green channel and with 2 for blue channel
219.85728484414187