我想创建一个掩码操作......
我有两个相同大小的输入图像(它们必须具有相同的深度/通道数量吗?我想成为任何东西,可能是3个通道, CV_32FC3
或灰色......)我创建了一个掩模,相同的大小(行和列)
cv::Mat mask = cv::Mat(image1.rows, image1.cols, CV_8UC1);
使用黑色和白色区域创建蒙版 .
我想创建一个新的cv :: Mat,它将具有mask1为1的image1和mask2为0的image2 .
我查看 cv::filter2D
和 copyTo
...还看了addWeighted,但我不想混合它们 - 每个图像的区域应该完全分开 . roi无济于事 - 面具可能不包含矩形,而是一个或多个多边形 .
我找不到能满足我想要的东西 .
是否有任何基于掩模组合我的图像的OpenCV功能?或者我是否必须创建自己的,循环遍历行和列?
谢谢 .
1 回答
只需使用
bitwise_and()
功能即可设置 . 以下参考包括一个完整的工作示例 .参考文献:
How to "zero" everything within a masked part of an image in OpenCV
OpenCV bitwise_and + mask