随笔 - 36  文章 - 0  评论 - 0  阅读 - 17686

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)

运行效果:
image

posted on   零度的python武器库  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示