我使用的是python tesseract包装器(tesserocr),而不是tesseract v4。我在一个简单的“HELLO WORLD”黑白图像上运行一些示例代码,但是虽然字母被正确识别,但是我得到了错误的边界框,看到原始图像覆盖了结果
下面是基于this SO post的代码。你知道如何得到正确的bboxes吗?谢谢您!在import cv2
import json
from PIL import Image
from tesserocr import PyTessBaseAPI, RIL
img = cv2.imread('helloworld.jpg')
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
pillowImg = Image.fromarray(gray_img)
with PyTessBaseAPI() as api:
api.SetImage(pillowImg)
api.Recognize()
ri = api.GetIterator()
level = RIL.SYMBOL
for r in tesserocr.iterate_level(ri, level):
bbox = r.BoundingBoxInternal(level)
symbol = r.GetUTF8Text(level)
conf = r.Confidence(level)
print(json.dumps([symbol, conf, bbox]))
输出如下:
^{pr2}$