添加文字水印和图像水印

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

}

相关推荐
Ddddddd_1583 小时前
C++ | Leetcode C++题解之第504题七进制数
c++·leetcode·题解
J_z_Yang3 小时前
LeetCode 202 - 快乐数
c++·算法·leetcode
Y.O.U..6 小时前
STL学习-容器适配器
开发语言·c++·学习·stl·1024程序员节
lihao lihao6 小时前
C++stack和queue的模拟实现
开发语言·c++
爱写代码的小朋友6 小时前
使用 OpenCV 进行人脸检测
人工智能·opencv·计算机视觉
Cici_ovo7 小时前
摄像头点击器常见问题——摄像头视窗打开慢
人工智能·单片机·嵌入式硬件·物联网·计算机视觉·硬件工程
姆路7 小时前
QT中使用图表之QChart概述
c++·qt
西几7 小时前
代码训练营 day48|LeetCode 300,LeetCode 674,LeetCode 718
c++·算法·leetcode
风清扬_jd7 小时前
Chromium HTML5 新的 Input 类型week对应c++
前端·c++·html5
南东山人8 小时前
C++静态成员变量需要在类外进行定义和初始化-error LNK2001:无法解析的外部符号
c++