以下是使用OpenCV在图片上添加水印的完整C++代码示例:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取原始图片
Mat image = imread("original_image.jpg");
// 检查图片是否成功加载
if (image.empty())
{
cout << "无法读取图像文件" << endl;
return -1;
}
// 创建一个与原始图像相同尺寸和类型的副本,用于绘制水印
Mat watermarkedImage = image.clone();
// 设置水印文本信息
string watermarkText = "Watermark Text";
// 设置文本参数(字体、位置、大小等)
int fontFace = FONT_HERSHEY_SIMPLEX;
double fontScale = 1.5;
int thickness = 2;
int baseline = 0;
Size textSize = getTextSize(watermarkText, fontFace, fontScale, thickness, &baseline);
// 计算文本位置(居中)
Point textOrg((image.cols - textSize.width) / 2, (image.rows + textSize.height) / 2);
// 绘制文字水印到副本图像上
putText(watermarkedImage, watermarkText, textOrg, fontFace, fontScale,
Scalar(255, 255, 255), thickness);
// 显示原始图片和带有水印的图片
imshow("Original Image", image);
imshow("Watermarked Image", watermarkedImage);
waitKey(0); // 等待按键退出
return 0;
}
请确保已经安装了OpenCV库,并将代码中的”original_image.jpg”替换为你要添加水印的图片路径。运行该代码后,将会在窗口中显示原始图片和带有水印的图片。
内容由零声教学AI助手提供,问题来源于学员提问