OpenCV:如何将遮罩外的所有像素转换为透明?

问题描述

我有一个名为 maskMat 的 4 通道遮罩,颜色为红色(但如果需要,我可以选择任何其他颜色)。

我有一个名为 imageMat 的 4 通道图像。

我想将 maskMat 之外的 mat 的所有像素设置为透明色(以便仅保留位于 maskMat 区域中的 imageMat 部分)。

我怎样才能用 OpenCV 做到这一点? (我使用 openCV Java,但任何语言的答案都可以)

谢谢。

解决方法

我终于找到了使用 bitwise_and 的解决方案。这是我的代码:

Mat maskMat = .... // A RGBA Mat with mask in white color
Mat imageMat = .... // A RGBA Mat
Mat removedBlackMat = new Mat();
Core.bitwise_and(imageMat,maskMat,removedBlackMat);

感谢您的帮助,对于我的问题不准确表示抱歉!

希望这会对某人有所帮助。