使用cv2在图片上添加指定字体的中文文字
时间: 2023-10-07 11:07:05 浏览: 147
要在图片上添加指定字体的中文文字,可以使用OpenCV库(cv2)和Pillow库。以下是一个示例代码:
```python
import cv2
from PIL import ImageFont, ImageDraw, Image
# 读取图片
img = cv2.imread("image.jpg")
# 将OpenCV图像从BGR转换为RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 转换为Pillow图像
pil_img = Image.fromarray(img)
# 加载字体文件
font_path = "font.ttf"
font = ImageFont.truetype(font_path, size=24)
# 创建一个可以在给定图像上绘图的对象
draw = ImageDraw.Draw(pil_img)
# 绘制文本
text = "你好,世界"
draw.text((50, 50), text, font=font, fill=(255, 255, 255))
# 将Pillow图像转换为OpenCV图像
img = cv2.cvtColor(np.array(pil_img), cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey()
cv2.destroyAllWindows()
```
在上述代码中,我们首先读取了一张图片,然后将其从BGR格式转换为RGB格式。接下来,我们使用Pillow库加载指定的字体文件,并创建一个可以在图像上绘图的对象。然后,我们使用`draw.text()`方法将指定的中文文本绘制在图像上。最后,我们将Pillow图像转换为OpenCV图像,并显示它。
请注意,如果要在Windows上使用中文字体,可能需要指定字体文件的全路径。另外,需要确保字体文件支持中文字符。
阅读全文