如何使用OpenCV Python在图像上创建水印?

如何使用OpenCV Python在图像上创建水印?

在数字时代,数码产品广泛应用于各行各业,其中,照片的使用很常见,从个人生活中的照片到商业广告照片,都存在着利益问题,因此,保护数字图片的版权势在必行。其中,添加水印是一种经济有效的方式。本文着重探讨如何使用OpenCV Python在图片上添加文字水印。OpenCV 的全称叫 Open Source Computer Vision Library 是一个跨平台的计算机视觉库、机器视觉库。在本文中,我们将通过使用 OpenCV Python 添加水印。

步骤

下面是将文本添加到图片上的主要步骤:

步骤 1:导入模块

我们可以使用以下代码导入 OpenCV 和 numpy 模块。Numpy 是一个用于科学计算的基本包,它在 Python 中用作科学计算的通用数组处理库。它也用于 TensorFlow。

import cv2
import numpy as np

步骤 2:读取图片

我们在这里使用 imread()函数在 OpenCV 中读取一张图片。函数参数包括文件名和读取模式。在本例中,我们使用“ cv2.IMREAD_UNCHANGED”以保留 alpha 通道值。

image = cv2.imread("example.jpg", cv2.IMREAD_UNCHANGED)

步骤 3:添加文本水印

在此步骤中,我们将添加一个文字水印。在下面的代码中,我们使用 putText()函数向图片添加文本。该函数获取以下参数:

  • image: 原始图像。
  • text: 要添加的文本。
  • org:文本的左下角坐标。
  • font: 字体类型。
  • fontScale: 字体比例。
  • color: 字体颜色,以 BGR 格式。
  • thickness: 字体厚度。
  • lineType: 字体线类型。
  • bottomLeftOrigin: 如果它为 true,则表示文本的原点是放置文本框左下角。否则,该原点是左上角。
text = "Sample Text Watermark"
position = (50, 50)
font = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
color = (0, 255, 0)
thickness = 2
lineType = cv2.LINE_AA
bottomLeftOrigin = False
cv2.putText(image, text, position, font, fontScale, color, thickness, lineType, bottomLeftOrigin)

步骤 4:保存图像

在最后一步中,我们使用以下代码保存图像。

cv2.imwrite('example_watermark.jpg', image)

完整代码

现在将所有步骤组合在一起,得到的代码如下:

import cv2
import numpy as np

image = cv2.imread("example.jpg", cv2.IMREAD_UNCHANGED)
text = "Sample Text Watermark"
position = (50, 50)
font = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
color = (0, 255, 0)
thickness = 2
lineType = cv2.LINE_AA
bottomLeftOrigin = False
cv2.putText(image, text, position, font, fontScale, color, thickness, lineType, bottomLeftOrigin)
cv2.imwrite('example_watermark.jpg', image)

结论

本文展示了如何使用OpenCV Python在图像上添加文本水印。Watermark可以帮助保护一张照片的版权,确保其内容不被盗用或复制。此外,本文还介绍了OpenCV中一些常见的函数,如 imread()和 putText()等。希望读者通过学习本文,能够了解到更多有关数字水印的知识,从而更好地保护自己的版权。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Python OpenCV