17 lines
657 B
Python
17 lines
657 B
Python
|
import cv2
|
||
|
import numpy as np
|
||
|
from PIL import Image, ImageDraw, ImageFont
|
||
|
|
||
|
def cv2ImgAddText(img, text, left, top, textColor=(0, 255, 0), textSize=20):
|
||
|
if (isinstance(img, np.ndarray)): # 判断是否OpenCV图片类型
|
||
|
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
|
||
|
# 创建一个可以在给定图像上绘图的对象
|
||
|
draw = ImageDraw.Draw(img)
|
||
|
# 字体的格式
|
||
|
fontStyle = ImageFont.truetype(
|
||
|
"simsun.ttc", textSize, encoding="utf-8")
|
||
|
# 绘制文本
|
||
|
draw.text((left, top), text, textColor, font=fontStyle)
|
||
|
# 转换回OpenCV格式
|
||
|
return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
|