tesseract中以下代码的字典输出的键值表示什么?

时间:2019-06-21 07:38:23

标签: python-3.x tesseract text-extraction python-tesseract

我在python中使用以下代码:

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

'block_num' 'conf'  'level' 'line_num'  'page_num'  'par_num', 'text', 'top', 'width', 'word_num', 'height, 'left'.

这些键值表示什么

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

    img = cv2.imread('../Image_documents/6.png')
    d = pytesseract.image_to_data(img, output_type=Output.DICT)
    pprint.pprint(d)

1 个答案:

答案 0 :(得分:0)

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

思考响应的最佳方法是将图像突出显示的文本区域中的方框(矩形)组成。

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

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

  1. 页面
  2. 阻止
  3. 段落
  4. 单词

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

topwidthheightleft值定义盒子形状。

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

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

对于该图片,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)