【发布时间】:2022-08-16 23:38:24
【问题描述】:
我使用此代码检测所有文本并绘制所有边界框:
from paddleocr import PaddleOCR,draw_ocr
ocr = PaddleOCR(lang=\'en\') # need to run only once to download and load model into memory
img_path = \'PaddleOCR/doc/imgs_en/img_12.jpg\'
result = ocr.ocr(img_path, cls=False)
for line in result:
print(line)
# draw result
from PIL import Image
image = Image.open(img_path).convert(\'RGB\')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path=\'/path/to/PaddleOCR/doc/fonts/simfang.ttf\')
im_show = Image.fromarray(im_show)
im_show.save(\'result.jpg\')
现在我有一个包含所有检测到的边界框的图像。 我想分离所有的边界框,以便我可以使用 pytesseract 从它们中提取信息。 我想这样做是因为 paddleocr 更适合检测,但 Pytesserat 更适合提取(德语)。 那么我怎样才能分离所有的边界框来从它们中提取文本呢? 谢谢
-
所以你已经有了这些矩形,包括里面的字符。然后通过裁剪每个矩形创建一个 sub-Mat 并逐个应用 Pytesseract
-
谢谢您的回答。这是我使用 paddle ocr 获得的坐标:
[[338.0, 487.0], [414.0, 487.0], [414.0, 527.0], [338.0, 527.0]] [[335.0, 439.0], [431.0, 439.0], [431.0, 484.0], [335.0, 484.0]]那么你能告诉我如何使用它们来裁剪矩形吗? -
类似于
cropped_image = img[80:280, 150:330]
标签: python opencv tesseract paddle-paddle