tesseract中以下代码的字典输出的键值是什么意思?

May*_*mar 4 tesseract text-extraction python-3.x python-tesseract

我在 python 中使用以下代码:

我在字典中得到以下键值:

'block_num' 'conf'  'level' 'line_num'  'page_num'  'par_num', 'text', 'top', 'width', 'word_num', 'height, 'left'.
Run Code Online (Sandbox Code Playgroud)

这些关键值意味着什么

我试图在tesseract的官方文档中找到这些。如果您有一些解释相同的链接,请提供或解释它。

'block_num' 'conf'  'level' 'line_num'  'page_num'  'par_num', 'text', 'top', 'width', 'word_num', 'height, 'left'.
Run Code Online (Sandbox Code Playgroud)

Dmi*_*ski 5

您调用了一个 API 来获取有关图像中文本的信息。

考虑响应的最佳方式是图像上突出显示文本区域的框(矩形)的组合。

结果集包含多个不同级别的值。

您可以检查level键的值以查看框属于哪个级别。以下是支持的值:

  1. 堵塞
  2. 段落
  3. 线
  4. 单词

图像可以包含多个相同类型的块,这些属性用于定义块在列表和父层次结构中的位置 - page_numblock_numpar_numline_numword_num

top, width, height,left值定义框形状。

让我们看一下示例,看看它是如何工作的。

假设我们在同一行有 2 个单词的图片。

对于那张图片,tesseract 返回 6 个框:1 个用于页面,1 个用于块,1 个用于段落,1 个用于行,2 个用于单词

这是你得到的数据:

  • '级别': [1, 2, 3, 4, 5, 5]
  • 'page_num': [1, 1, 1, 1, 1, 1]
  • 'block_num': [0, 1, 1, 1, 1, 1]
  • 'par_num': [0, 0, 1, 1, 1, 1]
  • 'line_num': [0, 0, 0, 1, 1, 1]
  • 'word_num': [0, 0, 0, 0, 1, 2]

下面的代码在图像上呈现所有级别的框:

d = pytesseract.image_to_data(image, output_type=Output.DICT)
n_boxes = len(d['level'])
for i in range(n_boxes):
    (x, y, w, h) = (d['left'][i], d['top']
                    [i], d['width'][i], d['height'][i])
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
Run Code Online (Sandbox Code Playgroud)