『youcans 的 OpenCV 例程200篇 - 总目录』
【youcans 的 OpenCV 例程200篇】22. 图像添加非中文文字
函数 cv2.putText() 用于在图像上绘制文本字符串,即添加文字。
OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号)
函数说明:
cv2.putText(img, text, pos, fontFace,fontScale,color[, thickness[, lineType[, bottomLeftOrigin]]]) → dst
函数 cv2.putText() 用于在图像上绘制文本字符串。
参数说明:
- img:添加文本字符串的图像,ndarray 多维数组
- text:添加的文本字符串
- pos:文本字符串左下角坐标,如元组 (x=100, y=100)
- font:字体类型
- fontScale:字体缩放比例因子
- color:文本字符串的颜色,如元组 (255,0 ,0)
- thickness:线条粗细,单位为像素数
- lineType:线条类型
- bottomLeftOrigin:可选参数,默认值 True 表示数据原点位于左下角,False 表示位于左上角
- 返回值:dst,结果图像,ndarray 多维数组
注意事项:
- OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号)。
- 在图像中添加中文字符,可以使用 python+opencv+PIL 实现,或使用 python+opencv+freetype 实现。具体方法详见扩展例程 1.32。
基本例程:1.31 图像添加文字
# 1.31 图像添加文字img1 = cv2.imread("../images/imgLena.tif") # 读取彩色图像(BGR)text = "OpenCV2021, youcans@xupt"fontList = [cv2.FONT_HERSHEY_SIMPLEX,cv2.FONT_HERSHEY_SIMPLEX,cv2.FONT_HERSHEY_PLAIN,cv2.FONT_HERSHEY_DUPLEX,cv2.FONT_HERSHEY_COMPLEX,cv2.FONT_HERSHEY_TRIPLEX,cv2.FONT_HERSHEY_COMPLEX_SMALL,cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,cv2.FONT_HERSHEY_SCRIPT_COMPLEX,cv2.FONT_ITALIC]fontScale = 1 # 字体缩放比例color = (255, 255, 255) # 字体颜色for i in range(10):pos = (10, 50*(i+1))imgPutText = cv2.putText(img1, text, pos, fontList[i], fontScale, color)cv2.imshow("imgPutText", imgPutText) # 显示叠加图像 imgAddkey = cv2.waitKey(0) # 等待按键命令
(本节完)
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/121287815)
Copyright 2022 youcans, XUPT
Crated:2021-11-18
【第2章:图像的数值运算】
21. 图像的叠加
22. 图像添加非中文文字
23. 图像添加中文文字