Python 使用OpenCV删除部分图像

Python 使用OpenCV删除部分图像,python,opencv,bitwise-operators,mask,Python,Opencv,Bitwise Operators,Mask,我有一个图像,我想用OpenCV简单地删除(或屏蔽)它的一部分。这是我的原始图像: 我想通过这个图像遮罩去掉圆心上的一个圆: 我在我的代码中使用了这个命令,从我阅读的教程中应该可以使用它,并在我的原始图像的中心画出一个圆圈: img = cv2.bitwise_not(imgOriginal,imgOriginal,mask=imgMask) 但我得到的结果是下图,事实上,它没有去除遮罩部分,而是颠倒了黑白: 如果您能帮助我找到正确遮盖(或移除)所需部件的方法,我将不胜感激。 谢谢尝试

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



我想通过这个图像遮罩去掉圆心上的一个圆:



我在我的代码中使用了这个命令,从我阅读的教程中应该可以使用它,并在我的原始图像的中心画出一个圆圈:

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

但我得到的结果是下图,事实上,它没有去除遮罩部分,而是颠倒了黑白:


如果您能帮助我找到正确遮盖(或移除)所需部件的方法,我将不胜感激。

谢谢

尝试使用遮罩将像素设置为背景色,如下所示:

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

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

“它只是反转黑白”-当然,你告诉它只在遮罩为白色的区域进行按位不反转(即反转),其余区域保持不变。你想要的结果是什么?