Python武器库 - 科研中常用的python图像操作 - 图像添加文字
应用场景:在科研中,有时需要在生成结果中标注文字作为说明,
或者添加文字在一行图片的开头作为标题
(这个效果通常需要 配合在一行图片的开头添加一张空(纯黑)图片,在该图片中添加文字作为标题,
使用python-opencv来创建一张纯色图片的操作,详情见我的另一篇随笔
https://www.cnblogs.com/lingdu98/p/18275825
)
如果只是一两次操作,那可能用ppt或者一些图像编辑软件就可以实现,
但如果是对于大量数据,就需要代码来自动实现批量操作,
比如有时候需要将模型的所有生成结果有顺序地组织起来,并添加文字说明
(当然,这个过程中通常也需要图像拼接的操作,详情见我的另一篇随笔
https://www.cnblogs.com/lingdu98/p/18250444)
实现在图像中添加文字的功能,主要用到的函数为cv2.putText()
opencv官方文档说明:https://docs.opencv.org/4.x/d6/d6e/group__imgproc__draw.html#ga5126f47f883d730f633d74f07456c576
函数说明:
cv2.putText(image, text, org, font, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
参数:
image: 待绘制文本的图像
text: 要绘制的文本字符串
org: 图像中文本字符串左下角的坐标。坐标表示为两个值的元组,即(X坐标值,Y坐标值)
font: 表示字体类型,包括FONT_HERSHEY_SIMPLEX、FONT_HERSHEY_PLAIN等等
fontScale: 字体尺寸缩放因子,用以乘以字体特定的基本大小
color: 要绘制的文本字符串的颜色。对于BGR,传递一个元组。例如(255, 0, 0) 表示蓝色
thickness: 字体线条的粗细,单位为px
返回值:
返回添加文字后的图片
代码示例:
import numpy as np
import cv2
img_black = np.zeros((256,256,3), np.uint8)
cv2.imshow('lingdu show image1', img_black)
cv2.putText(img_black, 'Control', (20,70), cv2.FONT_HERSHEY_SIMPLEX, fontScale=1, color=(255,255,255), thickness=3)
cv2.imshow('lingdu show image2', img_black)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)
运行效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库