欢迎访问宙启技术站
智能推送

使用cv2putText()函数在Python中将中文文字添加到图像的示例

发布时间:2023-12-19 06:09:51

在Python中,我们可以使用OpenCV库的cv2.putText()函数将中文文字添加到图像上。cv2.putText()函数可以用于在图像上绘制文本信息,包括文字内容、字体、大小、颜色等参数。

首先,我们需要安装OpenCV库。可以使用以下命令在Python环境中安装OpenCV库:

pip install opencv-python

接下来,我们可以编写一个示例代码来演示如何使用cv2.putText()函数将中文文字添加到图像中:

import cv2
import matplotlib.font_manager as fm

# 加载字体文件,用于支持中文
font = fm.FontProperties(fname='fonts/simhei.ttf')

# 读取图像
image = cv2.imread('image.jpg')

# 文字内容
text = '你好,世界!'

# 字体参数
font_size = 2
font_thickness = 2
font_color = (0, 0, 255)

# 获取文字的宽度和高度
(text_width, text_height), _ = cv2.getTextSize(text, fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=font_size, thickness=font_thickness)

# 计算文字的位置
text_x = int((image.shape[1] - text_width) / 2)
text_y = int((image.shape[0] + text_height) / 2)

# 在图像上绘制文字
cv2.putText(image, text, (text_x, text_y), cv2.FONT_HERSHEY_SIMPLEX, font_size, font_color, font_thickness)

# 显示图像
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述示例代码中,我们首先加载了一个中文字体文件(simhei.ttf),然后使用cv2.imread()函数读取了一张图像(image.jpg)。接下来定义了要绘制的中文文字内容('你好,世界!')和一些字体的参数(字体大小、字体粗细、字体颜色)。然后,我们使用cv2.getTextSize()函数获取了文字的宽度和高度,并计算出了文字在图像上的位置。最后,使用cv2.putText()函数将文字绘制在图像上,并使用cv2.imshow()和cv2.waitKey()函数显示图像。

需要注意的是,如果要在图像中使用中文字体,需要事先下载并指定一个合适的中文字体文件(simhei.ttf)。

此外,你还可以调整参数来自定义绘制的字体、位置、颜色等效果。希望以上示例能够帮助到你。