3

我想创建一个掩码操作...

我有两个相同大小的输入图像(它们是否必须具有相同的深度/通道数?我想成为任何东西,可能是 3 个通道CV_32FC3或灰色......)并且我创建了一个蒙版,相同大小(行和列)

cv::Mat mask = cv::Mat(image1.rows, image1.cols, CV_8UC1);

蒙版由黑白区域创建。

我想创建一个新的 cv::Mat,它的 image1 为 mask 为 1,image2 为 mask 为 0。

我查看cv::filter2DcopyTo...还查看了 addWeighted,但我不想混合它们 - 每个图像的区域应该完全分开。roi 无济于事 - 掩码可能不包含矩形,而是一个或多个多边形。

我找不到可以满足我要求的东西。

是否有任何 OpenCV 函数可以根据掩码组合我的图像?还是我必须创建自己的,循环遍历行和列?

谢谢你。

4

1 回答 1

5

只需使用该bitwise_and()功能即可。下面的参考资料包括一个完整的工作示例。

参考:


  1. 如何在 OpenCV 中将图像蒙版部分中的所有内容“归零”
  2. OpenCV bitwise_and + 掩码
于 2013-06-05T22:00:24.197 回答