1、加载感兴趣区域ROI,添加Rect区域
2、加载掩模,mask,前提是灰度图
/*图像添加图标
*1、ROI和它的父图像指向同一块内存缓冲区
*2、加载掩模(必须是灰度图)
*3、对ROI的任何变换都会影响到原始图像的对应区域。
*/
#include <iostream> #include "opencv2/opencv.hpp" using namespace std; int main() { cv::Mat image = cv::imread("E:/QtMaterial/images/boldt.jpg"); cv::Mat logo = cv::imread("E:/QtMaterial/images/logo.bmp"); cv::Mat imageROI; imageROI =image(cv::Rect(385,270,logo.cols,logo.rows)); cv::addWeighted(imageROI,1.0,logo,0.3,0,imageROI); cv::imshow("with logo1",image); imageROI =image(cv::Rect(385,270,logo.cols,logo.rows)); cv::Mat mask = cv::imread("E:/QtMaterial/images/logo.bmp",0); logo.copyTo(imageROI,mask); cv::imshow("with logo2",image); cv::waitKey(); cv::destroyWindow("with logo1"); cv::destroyWindow("with logo2"); return 0; }