我在图像中发现了特定的轮廓。我创建了一个遮罩,整个图像为黑色,轮廓的边界点除外。轮廓已完美映射。点击here,查看所创建轮廓的图片。
现在,我要转到原始图像,并获取原始图像轮廓内所有点的平均像素强度值。 当我使用cv.mean()函数时,是否仅获得蒙版指定的点的平均值,即仅是边界点还是蒙版内部的所有点?
答案 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))