OpenCV2中ROI区域的设置
由于使用cv::add合并图像时,要求两个输入图像要具有相同的尺寸,所以合并两个大小不一样的图片时,不能直接使用cv::add
但是,问题总会有解决的办法的!
只要设置一个与插入图形(logo)的大小相同的感兴趣区域(ROI),cv::add就能正常工作了
<span style="font-size:14px;"> //对象
cv::Mat image = cv::imread("...boldt.jpg");
//要插入的图片
cv::Mat logo = cv::imread("...logo.bmp");
//ROI区域(长和宽要和logo一致)
cv::Mat imageROI;
imageROI = image(cv::Rect(385,200,logo.cols,logo.rows));
cv::imshow("image",image);
cv::namedWindow("logo",0);
cv::imshow("logo",logo);
//合并图像
//cv::addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);
cv::add(imageROI,logo,imageROI);
//最终效果(有点像打水印23333)
cv::imshow("imageROI",image);
</span>
原图
要插入的图片
效果图(打水印既视感)