#include <opencv2/opencv.hpp>
#include <string>
int main() {
// 读取 BMP 图像
cv::Mat image = cv::imread("input.bmp");
if (image.empty()) {
std::cout << "无法打开图像文件!" << std::endl;
return -1;
}
// 设置水印文字
std::string text = "Watermark";
int fontFace = cv::FONT_HERSHEY_SIMPLEX;
double fontScale = 1;
int thickness = 2;
cv::Scalar color(255, 255, 255); // 白色水印
// 定位水印的位置
int baseline;
cv::Size textSize = cv::getTextSize(text, fontFace, fontScale, thickness, &baseline);
cv::Point textOrg((image.cols - textSize.width) / 2, (image.rows + textSize.height) / 2);
// 在图像上添加文字水印
cv::putText(image, text, textOrg, fontFace, fontScale, color, thickness);
// 保存带水印的 BMP 图像
cv::imwrite("output_with_text_watermark.bmp", image);
return 0;
}