我想创建一个掩膜操作...
我有两个输入图像,大小相同(它们必须具有相同的深度/通道数吗?我希望可以是任何东西,可能是3个通道,CV_32FC3
或灰度...),并且我创建了一个掩膜,大小也相同(行和列)。
cv::Mat mask = cv::Mat(image1.rows, image1.cols, CV_8UC1);
这个掩膜是由黑白区域创建的。
我想创建一个新的cv::Mat,在该矩阵中,当掩膜值为1时,将插入image1;当掩膜值为0时,将插入image2。
我查看了cv::filter2D
和copyTo
…还查看了addWeighted,但我不想将它们混合-每个图像的区域应完全分开。 roi无法帮助-掩膜可能不包含矩形,而是一个或多个多边形。
我找不到能够实现我想要的功能的函数。
是否有任何OpenCV函数可以根据掩膜组合我的图像?还是必须创建自己通过循环行和列?
谢谢。