以下是使用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助手提供,问题来源于学员提问




