OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号)。在图像中添加中文字符,可以使用 python+opencv+PIL 实现,或使用 python+opencv+freetype 实现。具体方法详见扩展例程 1.32。
扩展例程:1.32 图像中添加中文文字
# 1.32 图像中添加中文文字imgBGR = cv2.imread("../images/imgLena.tif") # 读取彩色图像(BGR)from PIL import Image, ImageDraw, ImageFontif (isinstance(imgBGR, np.ndarray)): # 判断是否 OpenCV 图片类型imgPIL = Image.fromarray(cv2.cvtColor(imgBGR, cv2.COLOR_BGR2RGB))text = "OpenCV2021, 中文字体"pos = (50, 20) # (left, top),字符串左上角坐标color = (255, 255, 255) # 字体颜色textSize = 40drawPIL = ImageDraw.Draw(imgPIL)fontText = ImageFont.truetype("font/simsun.ttc", textSize, encoding="utf-8")drawPIL.text(pos, text, color, font=fontText)imgPutText = cv2.cvtColor(np.asarray(imgPIL), cv2.COLOR_RGB2BGR)cv2.imshow("imgPutText", imgPutText) # 显示叠加图像 imgAddkey = cv2.waitKey(0) # 等待按键命令
(本节完)
标签: 中文
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。