Bootstrap

添加文字水印和图像水印

#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;
}

;