opencv 不支持中文的输出,需要下载中文字体自行安装。下载好的字体文件是个压缩包,将其解压后,会得到一个名为 simhei.ttf 的文件。将其复制 到代码的同级目录下即可。
import cv2 #导入 CV 模块
from PIL import Image, ImageDraw,ImageFont #导入 PIL 模块
import numpy as np #导入 numpy 模块
cap= cv2.VideoCapture(0) #打开摄像头
while (1):
ret, frame = cap . read() #获得一帧视颜图像
img PIL=Image.fromarray(cv2.cvtColor(frame,cv2.COLOR BGR2RGB ))#将图片转为 PIL支持的格式
font= ImageFont.truetype (’simhei.ttf’, 40) #载入字体
draw = ImageDraw.Draw(img_PIL) #画出原始图片
draw.text((l00,100 ),’按 键拍照并退出’, font=font, fill= (255, 255, 255)) # 在图片上面显示中文
frame = cv2 . cvtColor(np.asarray(img_PIL),cv2.COLOR_RGB2BGR) #将图片转为 CV 支持的格式
的格式
cv2 . imshow (”capture”, frame) #将这一帧图像显示出来
if cv2 . waitKey(l) & OxFF == ord (’ q ’): #捕捉键盘输入,当输入 时保存文件并退出
cv2.imwrite (”out. jpg ”, fr ne)
break
cap. release () #释放资源
cv2 .destroyAllWindows () #关闭窗口