addWeighted
1 //显示原图 2 Mat src = imread("data/img/1.jpg"); 3 imshow("src",src); 4 5 //显示logo 6 Mat logo = imread("data/img/name.jpg"); 7 imshow("logo",logo); 8 9 //获取ROI 10 Mat ROI = src(Rect(28,41,logo.cols,logo.rows));//仅仅是获取ROI,依然是src中的一部分 11 imshow("ROI",ROI); 12 13 //线性组合 14 addWeighted(ROI,0.4,logo,0.6,0.,ROI);//修改ROI,也就修改了src 15 imshow("mixed",src);
copyTo
1 Mat srcImage = imread("data/img/1.jpg"); 2 imshow("srcImage", srcImage); 3 4 Mat logo = imread("data/img/face.jpg"); 5 Mat mask = imread("data/img/face.jpg",0); // 加载掩模(必须是灰度图) 6 imshow("mask",mask); 7 8 Mat imageROI = srcImage(Rect(28, 41, logo.cols, logo.rows)); //从原图中抠出矩形区域,Rect第一二参数表示矩形左上角定点的坐标,用于定位,后两个参数表示举行的宽和高 9 imshow("ROI", imageROI); 10 11 logo.copyTo(imageROI,mask);//注意两个参数,一个是ROI,一个是掩模 12 imshow("原图加logo", srcImage);