偶尔我们会有一些批量在图片上加个文字的功能, 比如添加水印啊, 修改模板啊之类的, 如果一张一张用ps或者图片编辑器终究是有一些麻烦, 而且无法保证每次都是对齐的, 因此让python来写也是不错的选择.
pip install opencv-python
pip install Pillow
下面是运行代码, 注意:
bk_img
里是图片文件的相对路径, 取决于代码当前shell中运行的路径,而不是脚本所在的路径。fontpath
为字体文件的路径, 可使用本机字体库, 也可单独下载.draw.text
fill
将以RGB格式填充, 但顺序为BLUR, GREEN, RED.anchor="mm", align="center"
将确保文字以目标点为中心.cv2.imshow("add_text", bk_img)
可以预览效果, 预览窗口将随python进程终止消失.import cv2
from PIL import ImageFont, ImageDraw, Image
import numpy as np
# 设置写入文字名和读取文件名
add_text = "opencv+Pillow"
file_bk_img = "background.png"
bk_img = cv2.imread(file_bk_img)
# 设置需要显示的字体
fontpath = "/Users/sandy/Library/Fonts/60a5feb72b07ed2b26d4e1e2.ttf"
font = ImageFont.truetype(fontpath, 45)
img_pil = Image.fromarray(bk_img)
draw = ImageDraw.Draw(img_pil)
# 绘制文字信息
draw.text((649, 485), add_text, font=font,
fill=(92, 60, 4), anchor="mm",
align="center")
bk_img = np.array(img_pil)
# cv2.imshow("add_text", bk_img)
# cv2.waitKey()
cv2.imwrite(add_text+".jpg", bk_img)
图片的颜色可以使用在线的服务获取.
如:
本文中获取的是RGB颜色值.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。