我想创建一个掩码操作......
我有两个相同大小的输入图像(它们是否必须具有相同的深度/通道数?我想成为任何东西,可能是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功能?或者我是否必须创建自己的,循环遍历行和列?
谢谢。
答案 0 :(得分:5)
只需使用bitwise_and()
功能即可进行设置。以下参考资料包括一个完整的工作示例。
参考文献: