1,图像上添加文字

putText()函数添加文字

常用参数:

  • img: 绘制文本的图像
  • text: 要绘制的文本字符串
  • pos: 绘制图片的位置
  • font: 字体类型
  • fontScale: 字体比例因子乘以font-specific基本大小
import cv2 as cv

img=cv.imread('1.jpg')
text='hello'
fontScale=1
pos=(20,30)
color=(255,255,255)
cv.putText(img,text,pos,cv.FONT_HERSHEY_SIMPLEX,fontScale,color)
cv.imshow('img',img)
cv.waitKey(0)

但是该函数不能添加中文文字

2,图像中添加中文文字

添加中文文字,要使用pillow库

import cv2 as cv
from PIL import Image,ImageDraw,ImageFont
import numpy as np

imgBGR=cv.imread('1.jpg',cv.IMREAD_COLOR)
#判断是否是opencv 图片类型
if isinstance(imgBGR,np.ndarray):
    imgPIL=Image.fromarray(cv.cvtColor(imgBGR,cv.COLOR_BGR2RGB))
pos=(50,30)
color=(255,255,255)
textSize=40
text='欢迎回家'
drawPIL=ImageDraw.Draw(imgPIL)
fontText=ImageFont.truetype('font/simsun.ttc',textSize,encoding='utf-8')
drawPIL.text(pos,text,color,font=fontText)
imgPutText=cv.cvtColor(np.asarray(imgPIL),cv.COLOR_RGB2BGR)
cv.imshow('img',imgPutText)
cv.waitKey(0)

 

 posted on 2024-05-14 13:46  会飞的金鱼  阅读(68)  评论(0)    收藏  举报