OpenCV_PY_2.3文本绘制

一、绘制非汉文本

相关代码

cv2.putText( img , text , org , fontFace , fontScale , color [ , thickness [ , lineType [ , bottomLeftOrigin ] ] ])

参数说明:

● img:在哪个图像上画线

● text:绘制的文本

● org:文本左下角位置

● fontFace:字体类型,参数设置可如下

cv2.FONT_HERSHEY_ITALIC:斜体

cv2.FONT_HERSHEY_SCRIPT_SIMPLEX:手写风格体

cv2.FONT_HERSHEY_SCRIPT_COMPLEX:较复杂的手写风格体

cv2.FONT_HERSHEY_SIMPLEX:正常大小的sans-serif字体

cv2.FONT_HERSHEY_PLAIN:小号的snas-serif字体

......

● fontScale:字体大小

● color:颜色

● thickness:线宽,数字越大越粗。-1:表示绘制填充图形

● lineType:线型.线型为-1,4,8,16,默认为8,数字越小锯齿状越明显
默认值也表示为cv.Line_8,
cv2.FILLED:填充
cv2.LINE_4:4条连接线
cv2.LINE_8:8条连接线
cv2.LINE_AA:抗锯齿线,线条更平滑

● bottomLeftOrigin 为文本方向,默认值为Flase,为水平方向;设置为True,文本为垂直镜像效果

测试代码

import cv2 as cv
import numpy as np

img = np.zeros((200, 320, 3), np.uint8) + 255  # 创建一副白色图片
fontFace = cv.FONT_HERSHEY_SIMPLEX  # 设置字体类型
cv.putText(img, ' Hello ', (50, 120), fontFace, 2,
           (255, 0, 0), 2, cv.LINE_AA)  # 绘制文本
cv.putText(img, ' Python ', (50, 120), fontFace, 2,
           (255, 0, 0), 2, cv.LINE_AA, True)
# 在图像img中绘制左下角在(50,120),类型为fontFace,大小为2.蓝色,线宽为2,线型为AA的python垂直镜像文本

cv.imshow('win', img)  # 显示图像
cv.waitKey(0)  # 等待任意键输入
cv.destroyAllWindows()  # 销毁所有窗口

运行结果

注意:cv2.putText()函数不能在图像中绘制汉字文本 

二、绘制汉字

前诉

使用PIL模块可在图像中绘制汉字文本(温馨提示:可以不看的,我也不太会)

PIL模块的下载

(1)按住win键的同时按住R键,打开运行命令框

(2)输入cmd,点击确定打开终端

 (3)输入以下命令下载PIL

pip install PIL

 或者使用镜像,下载更快

pip install PIL -i https://pypi.tuna.tsinghua.edu.cn/simple

一般网速达标的话,就能下载了。下载完成后,解释器刷新一下就可以使用了。

测试代码

import cv2 as cv
import numpy as np

img = np.zeros((200, 320, 3), np.uint8) + 255  # 创建白色图像
from PIL import ImageFont, ImageDraw, Image

fontpath = "STSONG.TTF"  # 指定字体文件名
font1 = ImageFont.truetype(fontpath, 36)  # 载入字体,设置字号
img_pil = Image.fromarray(img)  # 转换PIL格式
draw = ImageDraw.Draw(img_pil)  # 创建Draw对象
draw.text((0, 0), '不必忧心忡忡', font=font1, fill=(0, 0, 0))  # 绘制文本
img = np.array(img_pil)  # 转换为图像数组
cv.imshow('draw', img)

cv.waitKey(0)
cv.destroyAllWindows()

运行结果没有了,主要是没下载PIL,懒得下载

2023/08/08/17:23

Opencv学习笔记,这几天成懒狗了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值