添加文字水印和图像水印

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

}

相关推荐
阳光_你好26 分钟前
请详细说明opencv/c++对图片缩放
c++·opencv·计算机视觉
杰克逊的黑豹33 分钟前
不再迷茫:Rust, Zig, Go 和 C
c++·rust·go
契合qht53_shine37 分钟前
OpenCV 从入门到精通(day_05)
人工智能·opencv·计算机视觉
Y.O.U..1 小时前
今日八股——C++
开发语言·c++·面试
Zhichao_971 小时前
【UE5 C++课程系列笔记】33——商业化Json读写
c++·ue5
云边有个稻草人2 小时前
【C++】第八节—string类(上)——详解+代码示例
开发语言·c++·迭代器·string类·语法糖auto和范围for·string类的常用接口·operator[]
惊鸿一博2 小时前
c++ &&(通用引用)和&(左值引用)区别
开发语言·c++
新知图书2 小时前
OpenCV单窗口显示多图片
人工智能·opencv·计算机视觉
荷包蛋蛋怪2 小时前
【北京化工大学】 神经网络与深度学习 实验6 MATAR图像分类
人工智能·深度学习·神经网络·opencv·机器学习·计算机视觉·分类
nuo5342023 小时前
黑马 C++ 学习笔记
c语言·c++·笔记·学习