1、绘制字符
putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
org :文本起始点坐标
fontFace :字体
fontScale :字体大小
代码:
import cv2
import numpy as np
img=np.zeros((480,640,3),np.uint8)
cv2.putText(img,'hello world',(100,100),cv2.FONT_HERSHEY_DUPLEX,3,(0,255,0),3,4)
cv2.imshow('draw',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
2、绘制中文
opencv无法直接绘制中文, 可以使用Pillow包绘制中文
首先需要将Windows自带的字体文件(C:\Windows\Fonts)复制到根目录下。
代码:
from PIL import ImageFont,ImageDraw,Image
#绘制纯白背景
img=np.full((480,640,3),fill_value=255,dtype=np.uint8)
#导入字体文件STXINGKA.TTF,45是字体大小
font=ImageFont.truetype('./STXINGKA.TTF',45)
#创建一个pillow的图片
img_pil=Image.fromarray(img)
draw=ImageDraw.Draw(img_pil)
#利用draw去绘制中文
draw.text((50,150),'万里长城永不倒',font=font,fill=(0,255,0,0))
#重新变回ndarray
#img=np.array(img_pil)
img=np.array(img_pil)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()