微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从带有文本的图像中获取字体样式? Amazon Textract 返回的内容不幸的是,没有字体类型:到目前为止我做了什么

如何解决如何从带有文本的图像中获取字体样式? Amazon Textract 返回的内容不幸的是,没有字体类型:到目前为止我做了什么

我正在通过 AWS 的 Python API 使用 Amazon Textract API 从文档(pdfjpg)中提取文本。我确实获得了其边界框的文本和坐标,但我也希望拥有字体类型(仅需要主要字体:Arial、Helvetica、Verdana、Calibri、Times New Roman 和其他一些字体)。

有没有人有办法获取那条数据?

最好的解决方案可能是一个包,它接受一个小图像,返回字体类型名称,我可以在我的服务器上运行它。外部 API 很可能成本太高(金钱和时间),因为我必须在一秒钟内运行 100 多次。

Amazon Textract 返回的内容(不幸的是,没有字体类型):

{'BlockType': 'LINE','Confidence': 99.81985473632812,'Text': 'This is a text','Geometry': {'BoundingBox': {'Width': 0.7395017743110657,'Height': 0.012546566314995289,'Left': 0.12995509803295135,'Top': 0.2536422610282898},'polygon': [{'X': 0.12995509803295135,'Y': 0.2536422610282898},{'X': 0.8694568872451782,'Y': 0.2661888301372528},{'X': 0.12995509803295135,'Y': 0.2661888301372528}]},'Id': '59f42615-7f33-41d2-9f3c-77ae5e4b6e7a','Relationships': ...}

到目前为止我做了什么

我实现了一个解决方案,它计算文本的比率 width/height,并通过使用 Python 的枕头包和不同的字体类型以编程方式绘制相同的文本,然后比较比率来进行比较。但是,这种启发式方法通常会导致错误的结果。

解决方法

目前 Amazon Textract 不支持字体识别。这两个项目可能对您有所帮助:

  1. DeepFont:从图像中识别您的字体
  1. Typefont:第一个检测图像中文本字体的开源库。(现在是只读的。)

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