如何解决如何以编程方式加载和绘制/截图字体
我想自动创建不同字体的符号(数字、字母)图像数据集。我目前一直通过在 Word 文档中截取屏幕截图来手动执行此操作。有没有办法以编程方式(最好在 Python 或 MATLAB 中)执行此操作?
我知道这是一个简短的问题,但我也无法在 SO 或网络上找到任何有用的起点。
解决方法
以下是基于 this 教程的示例:
import matplotlib
from PIL import ImageFont,ImageDraw,Image
import numpy as np
import random
#get a list of fonts on the system
system_fonts = matplotlib.font_manager.findSystemFonts(fontpaths=None,fontext='ttf')
def create_image(text):
#create blank image object
size = random.randint(10,16)
length = random.randint(4,8)
img = np.zeros(((size*2)+5,length*size,3),np.uint8)
img_pil = Image.fromarray(img+255)
# Drawing text in random font and random color
font = ImageFont.truetype(random.choice(system_fonts),size)
draw = ImageDraw.Draw(img_pil)
draw.text((5,10),text,font=font,fill=(random.randint(0,255),random.randint(0,255)))
#save image
img_pil.save(f"{text}.jpg")
您可以解析单个文本 (create_image('test')
) 或生成随机字符串列表并循环它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。