给图像添加logo

#include <opencv2opencv.hpp>
#include"ProcessPixels.h"
using namespace cv;
using namespace std;

int main()
{
Mat image=imread("E:\yifu.jpg");
Mat logo=imread("E:\wawa.jpg"); //默认以彩色图形式载入图像
Mat mask=imread("E:\wawa.jpg",0); //以灰度图形式载入图像
if(image.empty()&&logo.empty())
{
cout<<"error";
return -1;
}
Mat imageROI;
imageROI = image(Rect(0,0,logo.cols,logo.rows)); //定义图像ROI,左上角坐标为(0,0)
// addWeighted(imageROI,1.0,logo,0.3,0.,imageROI); //logo图像直接和原始图像相加(同时可能伴随着像素饱和),视觉效果不是很令人满意。
logo.copyTo(imageROI,mask);

namedWindow("Image Result");
imshow("Image Result",image); //结果图像在Image Result窗口中显示
waitKey(0); //程序退出前不停等待用户的按键输入
return 1;
}

原文地址:https://www.cnblogs.com/xuepei/p/4143872.html