我在 C++
中使用 OpenCV
。我有两个单 channel 矩阵,一个的值为 0 或 2
,另一个的每个元素的值为 0 或 3
。我想将两者结合起来用作 grabCut
函数中的 mask 。
我想合并它们,以便我的新组合矩阵在适当的情况下包含 0、2 或 3。我尝试了按位“或”运算,但这似乎只给出了一个值为 0 或 255 的矩阵,其中 3 或 2 是唯一的。
combined = (greenMaskForGrabcut == 3) | (redMaskForGrabcut == 2);
如何保留每个元素的 3 或 2 个值?谢谢
最佳答案
OpenCV 有专门针对数组的按位或运算:
http://docs.opencv.org/modules/core/doc/operations_on_arrays.html
void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())
关于c++ - 组合两个矩阵,保留它们的元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375549/