Gki*_*i27 0 python opencv numpy
所以,我有一个图像,我想从顶部扫描图像,最多 5 行。之后,我想计算扫描区域的平均像素颜色值。怎么做?
您可以使用np.average:
img = cv2.imread('img.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #convert it to RGB channel
plt.imshow(img)
Run Code Online (Sandbox Code Playgroud)
让我们裁剪前 1000 行(图像中的前 5 行是白色的,因此平均值仅为 255)。
crop_img = img[:1000, :]
plt.imshow(crop_img)
Run Code Online (Sandbox Code Playgroud)
如果要对完整的裁剪图像(包括 3 个通道 RGB)求平均值,请使用:
np.average(crop_img)
> 221.7606454078586
Run Code Online (Sandbox Code Playgroud)
如果您想平均超过 3 个通道,请使用:
np.average(crop_img, axis = (0,1))
array([219.85728484, 220.16578896, 225.25886241])
Run Code Online (Sandbox Code Playgroud)
如果您只想对单个通道求平均值,请说 red:
np.average(crop_img[:, :, 0]) #replace 0 with 1 for green channel and with 2 for blue channel
219.85728484414187
Run Code Online (Sandbox Code Playgroud)
同样,您可以使用np.mean
| 归档时间: |
|
| 查看次数: |
3720 次 |
| 最近记录: |