结合PIL和opencv在图像上写多行文字

import cv2
from PIL import (Image, ImageDraw, ImageFont)

def imgWriteMuline(img):
    """ 在图像上写多行文字,支持中文 """

    """ 1. 将opencv格式转出PIL格式 """
    out = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    """ 2. 字体及大小设置 """
    fnt = ImageFont.truetype("Ming.ttf", 20)
    """ 3. 获取绘制图像 """
    d = ImageDraw.Draw(out)
    """ 4. 在图像上写字
        位置为(x,y)"""
    d.multiline_text((30, 80), "你好\nWorld", font=fnt, fill=(0, 0, 255))
    """ 5. 显示与保存 """
    out.save('img_1.jpg')
    out.show()

    
if __name__ == '__main__':
    img = cv2.imread('img_1.png')
    imgWriteMuline(img)

结合PIL和opencv在图像上写多行文字_第1张图片

 

你可能感兴趣的:(opencv,opencv,计算机视觉)