c++ opencv 图片添加水印
时间: 2023-07-05 17:31:22 浏览: 60
你可以使用OpenCV库来实现图片添加水印。以下是一个简单的示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 读取原始图片
Mat srcImage = imread("test.jpg");
if(srcImage.empty())
{
cout << "读取图片失败!" << endl;
return -1;
}
// 设置水印文字
string text = "watermark";
// 设置文字样式
int fontFace = FONT_HERSHEY_SIMPLEX;
double fontScale = 1;
int thickness = 2;
// 获取文字大小
int baseline = 0;
Size textSize = getTextSize(text, fontFace, fontScale, thickness, &baseline);
// 计算位置
Point textOrg((srcImage.cols - textSize.width) / 2, (srcImage.rows + textSize.height) / 2);
// 添加水印
putText(srcImage, text, textOrg, fontFace, fontScale, Scalar(255, 255, 255), thickness);
// 保存图片
imwrite("result.jpg", srcImage);
return 0;
}
```
这个示例代码会在图片中心添加一个白色的文字水印。你可以根据自己的需要调整文字样式和位置。