首页 > 解决方案 > tesseract 4.0.0-beta.1 字符周围的边界框

问题描述

我正在尝试使用 tesseract 4.0.0-beta.1 进行车牌识别。在 tesseract 文档中,它被告知以 . 我尝试使用“makebox”功能。但是,它并没有正确检测到每个字符。然后,在某处我读到此功能适用于 3.x 版。

后来我尝试了“wordstrbox”功能。但是这样创建的box文件是空的。有人可以告诉我如何为 tesseract 4.0.0-beta.1 创建盒子文件。

标签: ocrtesseractpython-tesseract

解决方案


我发现 AlfyFaisy 的回答非常有帮助,只想分享代码来查看单个字符的边界框。不同之处在于该方法输出的字典的键image_to_boxes

import pytesseract
import cv2
from pytesseract import Output

img = cv2.imread('image.png')
height = img.shape[0]
width = img.shape[1]

d = pytesseract.image_to_boxes(img, output_type=Output.DICT)
n_boxes = len(d['char'])
for i in range(n_boxes):
    (text,x1,y2,x2,y1) = (d['char'][i],d['left'][i],d['top'][i],d['right'][i],d['bottom'][i])
    cv2.rectangle(img, (x1,height-y1), (x2,height-y2) , (0,255,0), 2)
cv2.imshow('img',img)
cv2.waitKey(0)

至少在我的机器(Python 3.6.8,cv2 4.1.0)上,cv2 方法是waitKey(0)大写的 K。

这是我得到的输出:

输出


推荐阅读