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

使用cv2putText()函数在Python中将中文标签添加到图像的教程

发布时间:2023-12-19 06:12:13

cv2.putText()函数是OpenCV库中的一个图像处理函数,可以在图像上绘制指定的文本标签。下面是如何使用cv2.putText()函数将中文标签添加到图像的教程,并附带一个使用例子。

首先,我们需要安装和导入OpenCV库,并准备一张待处理的图像。

import cv2

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

要在图像上添加中文标签,我们需要一个中文字体文件。可以在网上下载或使用系统自带的中文字体文件。这里我们使用微软雅黑字体文件(msyh.ttc)。

# 定义字体文件路径
font_path = 'msyh.ttc'

接下来,我们定义一个函数来将中文标签添加到图像上。这个函数将根据给定的参数在指定位置和大小绘制文本,并设置字体颜色和大小。

def put_chinese_text(image, text, position, font_path, font_size, font_color):
    """
    在图像上绘制中文标签
    Args:
        image: 待处理的图像
        text: 要绘制的文本
        position: 文本的位置,一个包含x和y坐标的元组
        font_path: 中文字体文件路径
        font_size: 字体大小
        font_color: 字体颜色,一个包含B、G、R通道值的元组

    Returns:
        绘制了文本的图像
    """
    # 加载字体
    font = cv2.FONT_HERSHEY_SIMPLEX
    # 设置字体属性
    cv2.putText(image, text, position, font, font_size, font_color, 1, cv2.LINE_AA)

    return image

现在我们可以使用上面定义的函数将中文标签添加到图像上。以下是一个使用例子:

# 定义中文标签文本和位置
text = '你好,世界!'
position = (100, 100)

# 设置字体大小和颜色
font_size = 2
font_color = (0, 255, 0)  # 绿色

# 添加中文标签到图像
image_with_text = put_chinese_text(image, text, position, font_path, font_size, font_color)

# 显示图像
cv2.imshow('Image with Text', image_with_text)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上面的例子中,我们定义了一个'你好,世界!'的中文标签,并将其添加到图像的(100, 100)位置。我们还设置了字体大小为2和字体颜色为绿色。

最后,我们将处理后的图像显示出来。

这就是如何使用cv2.putText()函数在Python中将中文标签添加到图像的教程和使用例子。