OpenCV本身并不提供直接在图像上添加汉字文本的功能,因为OpenCV主要是用于图像处理和计算机视觉任务的库,而不是文本处理库。但是,你可以借助其他库,如PIL(Python Imaging Library)来在OpenCV处理的图像上添加汉字文本。代码如下:
import cv2
from PIL import Image, ImageDraw, ImageFont
import numpy as np
# 读取图像
img = cv2.imread('./shufa.jpg')
# 转换为Pillow图像,Pillow图像是rgb格式的
pil_img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
# 创建一个可以在图像上绘图的对象
draw = ImageDraw.Draw(pil_img)
# 指定字体和字号
font = ImageFont.truetype("simkai.ttf", 36, encoding="unic")
# 指定文本位置和颜色
text = "你好,世界!"
position = (100, 100)
text_color = (0, 255, 0)
# 在图像上绘制文本
draw.text(position, text, fill=text_color, font=font)
# 将含有文本的PIL格式的图像转换回OpenCV格式
img_with_text = cv2.cvtColor(np.array(pil_img), cv2.COLOR_RGB2BGR)
# 保存处理后的图像
cv2.imwrite('image_with_text.jpg', img_with_text)
# 显示图像
cv2.imshow("Image with Text", img_with_text)
cv2.waitKey(0)
cv2.destroyAllWindows()