c++ - 组合两个矩阵,保留它们的元素值

标签 c++ opencv image-processing matrix

我在 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/

相关文章:

c++ - 模板函数类型推导和返回类型

c++ - 如何在qt中解析网络主机名+端口?

C++11 - 无法使用 constexpr 函数定义 constexpr 文字?

带有 javaCv 和 FFMPEG 的 Android Studio

使图像在框架中居中

c++ - 选择特定版本的 Visual Studio 命令行工具包并针对特定版本的 C++ 运行时环境编译文件

python - 在圆上区分矩形(python-openCV)

python - opencv、BGR2HSV 会产生大量伪影

algorithm - 最新的 DeBayer/Demosaicing 技术是什么

objective-c - Seam Carving – 访问 cocoa 中的像素数据