我用这个代码来检测所有的文本和绘制所有的绑定框:
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是更好的提取(德语)。那么我如何分离所有的边界框提取文本从每一个呢?谢谢
1条答案
按热度按时间s8vozzvw1#
每个检测框中的四个点的顺序是左上、右上、右下和左下。
由于PP-OCR中的检测算法是以行为单位进行检测的,如果想从检测框坐标中得到每个单词的具体坐标,难度会比较大。