21xrx.com
2025-06-28 09:17:51 Saturday
登录
文章检索 我的文章 写文章
使用C++和OpenCV给图像添加水印文字
2023-09-04 08:35:36 深夜i     111     0
C++ OpenCV 图像 水印 文字

图像水印是一种常见的图像处理技术,它可以保护图像的版权,并提高图像的可视性。在本文中,我们将使用C++编程语言和OpenCV图像处理库来实现给图像添加水印文字的功能。

首先,我们需要先安装和配置OpenCV库。在安装完成后,我们可以开始编写我们的代码。

我们首先需要导入必要的库文件,包括OpenCV和iostream。然后,我们可以通过读取图像文件来加载图像。

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
  // 加载图像
  Mat image = imread("image.jpg");
  if (image.empty())
    cout << "无法加载图像文件" << endl;
    return -1;
  
  // 定义文字和位置
  string watermarkText = "Watermark";
  Point textPosition(50, 50);
  // 添加水印
  putText(image, watermarkText, textPosition, FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255), 2);
  // 保存图像
  imwrite("image_with_watermark.jpg", image);
  // 显示图像
  namedWindow("Watermarked Image");
  imshow("Watermarked Image", image);
  waitKey(0);
  return 0;
}

在上述代码中,我们首先加载原始图像文件。然后,我们定义水印文字的内容和位置。我们使用`putText`函数将水印文字添加到图像中。该函数需要指定图像,文字内容,文字位置,字体,字体大小,文字颜色和文字粗细等参数。

在添加水印之后,我们可以使用`imwrite`函数将带有水印的图像保存到文件中。然后,我们可以使用`imshow`函数显示水印图像,并使用`waitKey`函数等待用户按下任意键关闭图像窗口。

编译并运行上述代码后,我们将得到一张带有水印文字的图像。通过更改代码中的水印文字内容和位置,我们可以实现自定义的图像水印效果。

总之,通过使用C++编程语言和OpenCV图像处理库,我们可以很容易地给图像添加水印文字。这为我们保护图像版权和提高图像可视性提供了一个简单而强大的工具。

  
  

评论区