opencv------绘制文本

1、绘制字符

putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
org  :文本起始点坐标
fontFace :字体
fontScale :字体大小

代码:

import cv2
import numpy as np

img=np.zeros((480,640,3),np.uint8)
cv2.putText(img,'hello world',(100,100),cv2.FONT_HERSHEY_DUPLEX,3,(0,255,0),3,4)

cv2.imshow('draw',img)
cv2.waitKey(0)

cv2.destroyAllWindows()

2、绘制中文

opencv无法直接绘制中文, 可以使用Pillow包绘制中文

首先需要将Windows自带的字体文件(C:\Windows\Fonts)复制到根目录下。

代码:

from PIL import ImageFont,ImageDraw,Image 
#绘制纯白背景
img=np.full((480,640,3),fill_value=255,dtype=np.uint8)
#导入字体文件STXINGKA.TTF,45是字体大小
font=ImageFont.truetype('./STXINGKA.TTF',45)
#创建一个pillow的图片
img_pil=Image.fromarray(img)

draw=ImageDraw.Draw(img_pil)

#利用draw去绘制中文
draw.text((50,150),'万里长城永不倒',font=font,fill=(0,255,0,0))
#重新变回ndarray
#img=np.array(img_pil) 
img=np.array(img_pil) 
cv2.imshow('img',img)
cv2.waitKey(0)

cv2.destroyAllWindows()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值