用OpenCV删除图像的部分

问题描述:

我有一个图像,我想用OpenCV简单地删除(或掩盖)它的一部分。这是我原来的图像:

enter image description here

我想通过这个蒙版,以消除中心的圆:

enter image description here

我用我的代码,该命令从我读教程应该在我的原始图像的中心工作,黑掉了一圈:
用OpenCV删除图像的部分

img = cv2.bitwise_not(imgOriginal,imgOriginal,mask=imgMask) 

但结果我得到的是下面的图片,其实不是,它只是在去除蒙面零件绿党黑人和白人:

enter image description here


,我会很感激,如果你能帮助我在寻找一种方法来正确面膜(或删除)我想要的部分。
感谢

+0

“它只是反转黑人和白人“ - 当然是这样的,你告诉它只在面罩是白色的区域做一个不按位(即倒置)的位置,而其余部分不改变。 –

+0

你想要的结果是什么? – beaker

试试这个:

//given source, mask and destination Mat images with same size 
cv::subtract(img, mask, dst); 

enter image description here

尝试使用掩模的像素设置为背景色,就像这样:

img.setTo(Scalar::all(0),mask);