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

使用cv2putText()函数在Python中给图像加上中文标签的方法

发布时间:2023-12-19 06:11:33

Python中使用cv2.putText()函数给图像加上中文标签的方法是:

1. 首先,确保你已经安装了cv2库。如果没有安装,可以使用以下命令进行安装:

pip install opencv-python

2. 导入所需的库:

import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image

3. 加载图像:

image = cv2.imread('image.jpg')

4. 转换图像颜色空间为RGB:

image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

5. 将图像转换为PIL Image对象:

image_pil = Image.fromarray(image)

6. 创建一个ImageDraw对象:

draw = ImageDraw.Draw(image_pil)

7. 加载字体文件:

font = ImageFont.truetype('fonts/simhei.ttf', size=24)

注:在上述代码中,'fonts/simhei.ttf'为中文字体文件的路径,size为字体大小,在此处可根据需要进行调整。

8. 在图像上绘制中文标签:

draw.text((x, y), '中文标签', font=font, fill=(255, 0, 0))

注:在上述代码中,(x, y)为标签的左上角位置坐标,'中文标签'为要添加的中文标签内容,fill=(255, 0, 0)为字体颜色,可以根据需要进行调整。

9. 将PIL Image对象转换为OpenCV图像:

image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)

10. 显示图像:

cv2.imshow('Image with Chinese Label', image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()

注:上述代码中,'Image with Chinese Label'为显示窗口的标题,可以根据需要进行修改。

完整的实例代码如下所示:

import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image

# 加载图像
image = cv2.imread('image.jpg')

# 转换图像颜色空间为RGB
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# 将图像转换为PIL Image对象
image_pil = Image.fromarray(image)

# 创建一个ImageDraw对象
draw = ImageDraw.Draw(image_pil)

# 加载字体文件
font = ImageFont.truetype('fonts/simhei.ttf', size=24)

# 在图像上绘制中文标签
draw.text((50, 50), '中文标签', font=font, fill=(255, 0, 0))

# 将PIL Image对象转换为OpenCV图像
image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)

# 显示图像
cv2.imshow('Image with Chinese Label', image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述示例中,我们首先加载了一张图像,然后将其转换为RGB颜色空间。接下来,我们使用PIL库将图像转换为PIL Image对象,并使用ImageDraw对象在图像上绘制了中文标签。最后,我们将PIL Image对象转换为OpenCV图像,并使用cv2.imshow()函数显示图像。