opencv相关问题处理

1.opencv如何读取写入中文字符路径

1.1 读取

# cv2 np为numpy
img = cv2.imdecode(np.fromfile(image_path, dtype=np.uint8), cv2.IMREAD_COLOR)

1.2 写入

cv2.imencode('.png', img)[1].tofile(result_image_path)

1.3 在图片上标注中文信息,这个需要借助PIL库实现

def cv2ImgAddText(img, text, left, top, textColor=(0, 255, 0), textSize=35):
    """
    标注中文字体
    :param img: cv2读取的img
    :param text: 标注文字
    :param left: 从左边什么地方开始标注
    :param top: 从上面什么地方开始标注
    :param textColor: 字体颜色(RGB)
    :param textSize: 字体大小
    :return:
    """
    img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(img)
    # 字体的格式
    fontStyle = ImageFont.truetype(
        "STSONG.TTF", textSize, encoding="utf-8")
    # 绘制文本
    draw.text((left, top - 35), text, textColor, font=fontStyle)
    # 转换回OpenCV格式
    return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)

 

posted @ 2022-08-27 09:24  风,又奈何  阅读(19)  评论(0编辑  收藏  举报