opencv如何识别图像(图像添加非中文文字)
opencv如何识别图像(图像添加非中文文字)
函数 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 图像添加文字
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) # 显示叠加图像 imgAdd
key = cv2.waitKey(0) # 等待按键命令
(本节完)