copyto
1、image.copyTo(imageROI),作用是把image的内容粘贴到imageROI;
2、image.copyTo(imageROI,mask),作用是把mask和image重叠以后把mask中像素值为0(black)的点对应的image中的点变为透明,而保留其他点。
mask:即掩模。掩模是由0和1组成的一个二进制图像。当在某一功能中应用掩模时,1值区域被处理,被屏蔽的0值区域不被包括在计算中。通过指定的数据值、数据范围、有限或无限值、感兴趣区和注释文件来定义图像掩模,也可以应用上述选项的任意组合作为输入来建立掩模。(来自百度百科http://baike.baidu.com/view/2062299.htm)
例子程序:
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include<iOStream>
using namespace cv;
bool ROI_AddImage()
{
Mat srcImage1 = imread("102.jpg"); //source的意思
Mat logoImage = imread("10.png");
if (!srcImage1.data)
{
std::cout << "读入图片失败" << std::endl;
return false;
}
if (!logoImage.data)
{
std::cout << "读入图片失败" << std::endl;
return false;
}
Mat imageROI = srcImage1(Rect(0, 0, logoImage.cols, logoImage.rows));
Mat mask = imread("10.png",0);
//logoImage.copyTo(imageROI, mask);
logoImage.copyTo(imageROI);
namedWindow("效果图");
imshow("效果图", srcImage1);
}
void main()
{
ROI_AddImage();
waitKey();
}
相关阅读
在Mat矩阵类的成员函数中copyTo(roi , mask)函数是非常有用的一个函数,尤其是后面的mask可以实现蒙版的功能,我们用几个实例来说明
利用 OpenCV 和 Caffe,根据大合影构造“平均脸”
公司年会,大部门一起照了大合影。忽然有兴趣看看大家的平均脸是什么样子的,于是用 OpenCV 从大合影中提取出一千多名程序员的脸,构造
恍惚一年,很多东西没有整理,最近学弟又问道傅里叶变换的知识,说句实话,许久没接触,我也忘了很多,始有此文。原理+Samples+函数解读的流
车流量统计 头文件#ifndef MY_BLOB #define MY_BLOB #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp>
1)构造函数 Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽。2)方法 contain(Point) 可返回改点是否在矩形内