使用OpenCV的putText()函数在Python中向图像添加中文文字
发布时间:2023-12-19 06:08:42
使用OpenCV的putText()函数在Python中添加中文文字,你需要确保你的系统安装了支持中文的字体,并将字体文件路径传递给putText()函数。
下面是一个使用OpenCV在图像中添加中文文字的示例代码:
import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image
# 读取图像
image = cv2.imread("image.jpg")
# 将BGR图像转为RGB图像
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 将图像转为PIL图像
pil_image = Image.fromarray(image)
# 创建字体对象
font = ImageFont.truetype("font.ttf", 40)
# 创建绘图对象
draw = ImageDraw.Draw(pil_image)
# 在图像上绘制中文文字
text = "你好,世界!"
draw.text((10, 10), text, font=font, fill=(255, 0, 0))
# 将PIL图像转为NumPy数组
image = np.array(pil_image)
# 将RGB图像转为BGR图像
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上面的代码中,我们首先读取图像,并使用cv2.cvtColor()函数将图像从BGR格式转为RGB格式。然后,我们使用ImageFont.truetype()函数创建一个字体对象,并使用该字体对象创建绘图对象。接下来,我们使用draw.text()函数在图像上绘制中文文字。最后,我们将PIL图像转为NumPy数组,并使用cv2.cvtColor()函数将图像从RGB格式转为BGR格式,以便于显示。运行该代码后,你将在图像中看到添加了中文文字的效果。
请确保将上面代码中的font.ttf替换为你系统中的中文字体文件路径。此外,你还可以调整字体大小、位置、颜色等参数来满足你的需求。
