今天在做portrait-matting算法demo时,想着换张背景图试试看,直接操作像素内存buffer当然没有问题(以前写过太多直接改像素值的操作,也没有什么技术含量,重复造轮子,写的想吐了),于是,试着调用OpenCV库函数完成功能,减少工作量。
其实,换背景的实质就是图层mix,可以用到OpenCV mask掩膜,如果mask是非二值化的,用矩阵运算比较合适,可以确保过渡自然。下面说下如何使用mask掩膜。
作为掩膜mask的数据类型必须是CV_8U。
通常用法(mask掩膜)
Mat src=imread("example.jpg");
Rect t_rect(100,100,