如何在python中使用OCR从Image中获取文本的坐标

时间:2018-02-22 13:26:51

标签: python image-processing ocr tesseract python-tesseract

我正在尝试使用Tesseract从图像中获取文本字符的坐标或位置。 我想知道确切的像素位置,以便我可以使用其他工具点击该文本。

编辑:

import pytesseract
from pytesseract import pytesseract
import PIL
from PIL import Image
import cv2
import csv

img = 'E:\\OCR-DATA\\sample.jpg'
imge = Image.open(img)
    data=pytesseract.image_to_string(imge,lang='eng',boxes=True,config='hocr')

print(data)

data包含带框边界值的已识别文本。但我不确定,如何使用该边界值来获得文本的坐标。

data变量的值如下:

O 100 356 115 373 0

u 117 356 127 368 0

t 130 356 138 372 0

p 141 351 152 368 0

u 154 356 164 368 0

t 167 356 175 371 0

2 个答案:

答案 0 :(得分:0)

每行都有边界框的坐标。

来自:Training Tesseract – Make Box Files

字符,左,下,右,上,页

因此,对于每个字符,您将获得该字符,后跟其边界框字符,然后是基于0的页码。

答案 1 :(得分:0)

您可以尝试以下操作:

img = 'tes.jpg'
imge = Image.open(img)
data=pytesseract.image_to_boxes(imge)

print(data)

这将直接为您提供结果,例如:

T 22 58 52 97 0
H 62 58 95 96 0
R 102 58 135 97 0
E 146 57 174 97 0
A 184 57 216 96 0
D 225 56 258 96 0