添加文字水印和图像水印

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

}

相关推荐
后端小张7 小时前
智眼法盾:基于Rokid AR眼镜的合同条款智能审查系统开发全解析
人工智能·目标检测·计算机视觉·ai·语言模型·ar·硬件架构
wheeldown7 小时前
【Rokid+CXR-M】基于Rokid CXR-M SDK的博物馆AR导览系统开发全解析
c++·人工智能·ar
利刃大大7 小时前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
浩浩的代码花园7 小时前
自研端侧推理模型实测效果展示
android·深度学习·计算机视觉·端智能
晨非辰7 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
这张生成的图像能检测吗10 小时前
(论文速读)EfficientTrain++: 高效视觉骨干训练的通用课程学习
人工智能·深度学习·计算机视觉·训练方法
艾莉丝努力练剑10 小时前
【C++:C++11】C++11新特性深度解析:从可变参数模板到Lambda表达式
c++·stl·c++11·lambda·可变模版参数
同学小张12 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
翔云 OCR API16 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
爱学习的小邓同学16 小时前
C++ --- 多态
开发语言·c++