【问题标题】:How to get the font style from an image with text?如何从带有文本的图像中获取字体样式?
【发布时间】:2021-05-15 15:30:52
【问题描述】:

我正在通过 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.2536422610282898},
   {'X': 0.8694568872451782, 'Y': 0.2661888301372528},
   {'X': 0.12995509803295135, 'Y': 0.2661888301372528}]},
 'Id': '59f42615-7f33-41d2-9f3c-77ae5e4b6e7a',
 'Relationships': ...}

到目前为止我做了什么

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

【问题讨论】:

    标签: python ocr image-recognition amazon-textract


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我奖励了赏金,因为您的回答绝对有帮助。在将您的答案标记为已接受答案之前,我正在等待一段时间,以便其他人有机会参与进来,以防他们有其他选择。
    猜你喜欢
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多