使用OpenCV识别分段实例周围的纯背景

时间:2019-10-16 14:40:41

标签: python opencv image-processing classification object-detection

我正在尝试编写一种分类算法,该算法将识别出以下图像:1)以2)中性/纯背景为特色的人物。这个想法是要找到易于被人类编辑“化身”的图像。我不是试图自己亲自进行前景提取。

我正在使用对象检测(尤其是Mask R-CNN)和OpenCV的组合。这就是我到目前为止所拥有的。

这是我要识别的图像的正面示例:

positive example

面具R-CNN会告诉我,是的,这里有个人,甚至提供了用于实例分割的面具:

masked image

然后我可以抓住面具并使用OpenCV操纵图像:

 If CLng(visa.Cells(x, 16).Value2) = Deceased(visa_Inx) Then

extracted background

这时,我必须对提取的背景进行某种测试。而且我愿意接受想法!但是我的第一个想法是尝试检测仅在遮罩区域中的任何边缘。

# just get the first mask
mask = masks[0]
# invert the mask
inverse_mask = np.invert(mask).astype(np.uint8)
# use bitwise_and to extract the background
inverse_masked_data = cv2.bitwise_and(im, im, mask=inverse_mask)

mask with edges

这似乎很有希望,但是我正在了解自己的实例。因此,对“边缘”的任何测试都将失败,因为其中有一些边缘。

我的边缘检测想法看起来不错吗?如果是这样,我如何改进我的代码以使其正常工作?

还是我应该探索其他途径?

0 个答案:

没有答案