合并两个矩阵,保留它们的元素值

Combining two matrices, preserving their element value

我在 C++ 中使用 OpenCV。我有两个单通道矩阵,一个的值为 0 or 2,另一个的每个元素的值为 0 or 3。我想将两者结合起来用作 grabCut 函数中的掩码。

我想合并它们,以便我的新组合矩阵包含 0、2 或 3(在适当的情况下)。我尝试了按位或运算,但似乎这只给我一个矩阵,其值 0 或 255 专门在 3 或 2 所在的位置。

combined = (greenMaskForGrabcut == 3) | (redMaskForGrabcut == 2);

如何保留每个元素的 3 个或 2 个值?谢谢

OpenCV 有一个专门针对数组的 bitwise_or 操作:

http://docs.opencv.org/modules/core/doc/operations_on_arrays.html

void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())