使用OpenCV删除部分图像

时间:2017-08-30 16:17:47

标签: python opencv bitwise-operators mask

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

enter image description here

我想通过这个图像掩码删除其中心的圆圈:

enter image description here

我在我的代码中使用了这个命令,从我读过的教程应该可以工作,并在原始图像的中心将一个圆圈弄黑:

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

但我得到的结果是下面的图像,实际上它不是去除蒙面部分,而是反转黑色和白色:

enter image description here


如果你能找到一种方法来正确掩盖(或移除)我想要的部件,我将不胜感激 感谢

2 个答案:

答案 0 :(得分:1)

尝试使用蒙版将像素设置为背景颜色,如下所示:

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

答案 1 :(得分:1)

试试这个:

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

enter image description here