掩模Mask详解
在OpenCv中,许多API的参数中都有Mask(掩模)这么一个参数。很多资料都有一句话带过:规定所要操作的区域。那么他到底是怎么使用的?内部具体过程是什么?今天通过小例子来解答。
Mat sor(Size(5, 5), CV_8UC1, Scalar(0));
std::cout << sor << std::endl;
Mat mask(Size(5, 5), CV_8UC1, Scalar(0));
mask.row(0) = 1;
std::cout << mask << std::endl;
sor.setTo(1, mask);
std::cout << sor << std::endl;
显示结果:
结论:
1、 mask的尺寸和待操作的图像尺寸必须一致。
2、 mask的类型和待操作的图形的类型必须一致。
3、 mask中某位置的值决定是否对待操作图像对应位置的像素进行操作。为0不操作,非0进行操作。