前言
本篇文章参考了以下文章:
素材
demo例子起码用到了几个素材,在这里下载:
logo_pc.png

005.jpg
转存失败
underlay.png

overlay.png
转存失败
test.png

代码
头文件:
#ifndef DEMO_IMAGEMIX_H
#define DEMO_IMAGEMIX_H
#include
#include "opencv2/opencv.hpp"
#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgcodecs.hpp"
#include
#include
#include
using namespace cv;
using namespace std;
class Demo_ImageMix
{
public:
Demo_ImageMix();
void mix1(std::string orgImg, std::string logoPic,double alphaValue);
void mix2(std::string orgImg, std::string logoPic,double alphaValue);
int MakeWatermarkTest(
std::string underlayPic,
std::string overlayPic,
std::string testPic);
int MakeWatermark(
std::string underlayPic,
std::string overlayPic
,double alphaValue
);
private:
void overlayImage(Mat* src, Mat* overlay, const Point& location);
};
#endif // DEMO_IMAGEMIX_H
cpp源文件:
#include "demo_imagemix.h"
/***
* 该class用于演示
* 1、两张图片叠加包含 透明 效果
* 2、底图上面添加png图片水印【水印背景透明】
**/
Demo_ImageMix::Demo_ImageMix()
{
}
/**
任意图片叠加

本文通过C++和OpenCV库展示了如何将图片叠加以及添加透明水印。介绍了两个方法:`mix1`和`mix2`用于图片叠加,以及`MakeWatermark`函数用于添加水印,其中`MakeWatermark`支持调整水印的透明度。
最低0.47元/天 解锁文章

930

被折叠的 条评论
为什么被折叠?



