我正在尝试使用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)
我希望代码仅返回我创建的标签内的相关内容,我可以执行进行重叠检查的代码,但是我只需要每个单词都完整的边界框即可。
答案 0 :(得分:0)
万一有人还在寻找答案: 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