opencv感兴趣区域ROI

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);

 

posted on 2017-09-10 20:21  Stephenatalie  阅读(592)  评论(0编辑  收藏  举报