查找轮廓内图像的平均像素强度值

时间:2019-10-22 22:26:08

标签: python-3.x opencv image-processing opencv3.0 opencv-drawcontour

我在图像中发现了特定的轮廓。我创建了一个遮罩,整个图像为黑色,轮廓的边界点除外。轮廓已完美映射。点击here,查看所创建轮廓的图片。

现在,我要转到原始图像,并获取原始图像轮廓内所有点的平均像素强度值。 当我使用cv.mean()函数时,是否仅获得蒙版指定的点的平均值,即仅是边界点还是蒙版内部的所有点?

1 个答案:

答案 0 :(得分:0)

最简单的方法是通过选择图像中与蒙版为白色的位置相对应的像素。如果要在边界上放置像素,请使用已显示的蒙版。如果要在边界中(或上方)放置像素;而是将其绘制为填充轮廓(thickness=-1)。这是一个示例:

img = cv2.imread('image.jpg')
mask = cv2.imread('mask.png', 0)
locs = np.where(mask == 255)
pixels = img[locs]
print(np.mean(pixels))
相关问题