当前位置: 代码网 > it编程>前端脚本>Python > OpenCV 绘制文字的介绍

OpenCV 绘制文字的介绍

2024年08月01日 Python 我要评论
opencv 绘制文字

1、前言

opencv 提供了用于绘制文字的puttext()方法

使用这个方法不仅能够设置字体的样式、大小和颜色,而且能够使字体呈现斜体的效果,还能够控制文字的方向,进而使文字呈现垂直像的效果。puttext()方法的语法格式如下

需要注意的是:

字体样式介绍:

2、绘制英文文字

代码:

import numpy as np # 导入python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (100, 300, 3):一个100 x 300,具有3个颜色空间(即red、green和blue)的画布
# np.uint8:opencv中的灰度图像和rgb图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((100, 300, 3), np.uint8)
# 在画布上绘制文字“mrsoft”,文字左下角的坐标为(20, 70)
# 字体样式为font_hershey_triplex
# 字体大小为2,线条颜色是绿色,线条宽度为5
cv2.puttext(canvas, "mrsoft", (20, 70), cv2.font_hershey_triplex, 2, (0, 255, 0), 5)
cv2.imshow("text", canvas) # 显示画布
cv2.waitkey()
cv2.destroyallwindows()

2.1 文字的斜体效果

font italic 可以与其他文字类型一起使用,使字体在呈现指定字体样式效果的同时,也呈现斜体效果。

代码:

import numpy as np # 导入python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (100, 300, 3):一个100 x 300,具有3个颜色空间(即red、green和blue)的画布
# np.uint8:opencv中的灰度图像和rgb图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((100, 300, 3), np.uint8)
# 字体样式为font_hershey_triplex和font_italic
fontstyle = cv2.font_hershey_triplex + cv2.font_italic
# 在画布上绘制文字“mrsoft”,文字左下角的坐标为(20, 70)
# 字体样式为fontstyle,字体大小为2,线条颜色是绿色,线条宽度为5
cv2.puttext(canvas, "mrsoft", (20, 70), fontstyle, 2, (0, 255, 0), 5)
cv2.imshow("text", canvas) # 显示画布
cv2.waitkey()
cv2.destroyallwindows()

2.2 文字的垂直镜像效果

在 puttext0方法的语法格式中,有一个用于控制绘制文字时的方向的参数,即 bottomletorigin,其默认值为 false。当 bottomleftorigin为true 时,文字将呈现垂直镜像效果。

代码:

import numpy as np # 导入python中的numpy模块
import cv2

# np.zeros():创建了一个画布
# (200, 300, 3):一个200 x 300,具有3个颜色空间(即red、green和blue)的画布
# np.uint8:opencv中的灰度图像和rgb图像都是以uint8存储的,因此这里的类型也是uint8
canvas = np.zeros((200, 300, 3), np.uint8)
# 字体样式为font_hershey_triplex
fontstyle = cv2.font_hershey_triplex
# 在画布上绘制文字“mrsoft”,文字左下角的坐标为(20, 70)
# 字体样式为fontstyle,字体大小为2,线条颜色是绿色,线条宽度为5
cv2.puttext(canvas, "mrsoft", (20, 70), fontstyle, 2, (0, 255, 0), 5)
# 使文字“mrsoft”呈现垂直镜像效果,这时linetype和bottomleftorigin变成了必须参数
# 其中,linetype取默认值8,bottomleftorigin的值为true
cv2.puttext(canvas, "mrsoft", (20, 100), fontstyle, 2, (0, 255, 0), 5, 8, true)
cv2.imshow("text", canvas) # 显示画布
cv2.waitkey()
cv2.destroyallwindows()

3、图像上绘制文字

代码:

import cv2

image = cv2.imread("d:/2.1.jpg") # 读取d盘根目录下的2.1.jpg
# 字体样式为font_hershey_triplex
fontstyle = cv2.font_hershey_triplex
# 在2.1.jpg上绘制文字“mrsoft”,文字左下角的坐标为(20, 90)
# 字体样式为fontstyle,字体大小为1,线条颜色是黄色
cv2.puttext(image, "flower", (20, 90), fontstyle, 1, (0, 255, 255))
cv2.imshow("text", image) # 显示画布
cv2.waitkey()
cv2.destroyallwindows()

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com