2

我正在使用 Pytesseract 并希望将 HOCR 输出转换为字符串。当然,这样的功能是在 Pytesseract 中实现的,但我想了解更多关于完成它的可能策略 thx

from pytesseract import image_to_pdf_or_hocr
hocr_output = image_to_pdf_or_hocr(image, extension='hocr')
4

1 回答 1

0

由于hOCR是 .xml 的一种,我们可以使用 .xml 解析器。

但首先我们需要将 tesseract 的二进制输出转换为 str:

from pytesseract import image_to_pdf_or_hocr

hocr_output = image_to_pdf_or_hocr(image, extension='hocr')
hocr = hocr_output.decode('utf-8')

现在我们可以使用xml.etree来解析它:

import xml.etree.ElementTree as ET

root = ET.fromstring(hocr)

xml.etree 为我们提供了一个文本迭代器,我们可以将其结果连接到单个字符串中:

text = ''.join(root.itertext())
于 2019-11-17T23:37:29.697 回答