使用 Tesseract 和 Pyocr 获取 Python 中的字体大小

get Font Size in Python with Tesseract and Pyocr

是否可以使用 pyocrTesseract 从图像中获取字体大小? 下面是我的代码。

tools = pyocr.get_available_tools()
tool = tools[0]
txt = tool.image_to_string(
      Imagee.open(io.BytesIO(req_image)),
      lang=lang,
      builder=pyocr.builders.TextBuilder()
)

在这里,我使用函数 image_to_string 从图像中获取文本。现在,我的问题是,我是否可以从我的文本中获取 font-size(number)。

使用tesserocr,你可以在你的图片上调用Recognize后得到一个ResultIterator,为此你可以调用WordFontAttributes方法来获取你需要的信息.阅读该方法的文档以获取更多信息。

import io
import tesserocr
from PIL import Image

with tesserocr.PyTessBaseAPI() as api:
    image = Image.open(io.BytesIO(req_image))
    api.SetImage(image)
    api.Recognize()  # required to get result from the next line
    iterator = api.GetIterator()
    print iterator.WordFontAttributes()

示例输出:

{'bold': False,
 'font_id': 283,
 'font_name': u'Times_New_Roman',
 'italic': False,
 'monospace': False,
 'pointsize': 9,
 'serif': True,
 'smallcaps': False,
 'underlined': False}