Pytesseract OCR 边界框

Posted

技术标签:

【中文标题】Pytesseract OCR 边界框【英文标题】:Pytesseract OCR Bounding Box 【发布时间】:2019-06-07 08:12:42 【问题描述】:

我正在尝试使用 pytesseract 在带标签的图像中进行 ocr,标签返回带有相关边界框的 xml。我想匹配标签,看看它们是否与使用边界框从整个图像中进行 OCR 处理的文本重叠。有没有办法获得每个完整单词的边界框?我在下面尝试过这段代码,但它返回每个字母的边界框,所以我想知道是否有人可以推荐另一种方法来执行此操作,或者他们是否知道 python 中可以使用我的 xml 文件查找边界的替代 ocr 包盒子和 ocr 代替(或者如果他们知道 pytesseract 是如何做到这一点的?)。我不需要代码答案,只是一些建议。

> img = cv2.imread(filename) h, w, _ = img.shape boxes =
> pytesseract.image_to_boxes(img)  for b in boxes.splitlines():
>     b = b.split(' ')
>     img = cv2.rectangle(img, (int(b[1]), h - int(b[2])), (int(b[3]), h - int(b[4])), (0, 255, 0), 2)

我希望代码只返回我创建的标签中出现的相关内容,我可以执行执行重叠检查的代码,但我只需要每个单词完整的边界框...

【问题讨论】:

【参考方案1】:

如果有人仍在寻找答案: pytesseract 的 image_to_data 返回整个单词的边界框。它返回每个单词、单词和其他信息的边界框。您可以在此处找到有关该函数输出的更多信息:https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage#tsv-output-currently-available-in-305-dev-in-master-branch-on-github

【讨论】:

以上是关于Pytesseract OCR 边界框的主要内容,如果未能解决你的问题,请参考以下文章

Pytesseract (Tesseract OCR) 没有收到一些数字

pytesser3 使用说明

在Mac上 python中使用tesseract OCR (Pytesser) 识别图片中的文字

Python - PIL-pytesseract-tesseract验证码识别

OCR引擎Tesseract以及pytesseract详解及实例

Pytesseract:FileNotFound