如何在python中使用OCR从图像中获取文本识别器的坐标

Posted

技术标签:

【中文标题】如何在python中使用OCR从图像中获取文本识别器的坐标【英文标题】:How to get the co-ordinates of the text recogonized from Image using OCR in python 【发布时间】:2018-08-02 08:57:07 【问题描述】:

我正在尝试使用 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

【问题讨论】:

对不起,我是这个论坛的新手。不知道规则。现在添加了我的代码。 【参考方案1】:

你可以试试这个:

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

print(data)

这会直接给你结果 Like:

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

【讨论】:

【参考方案2】:

每行都有边界框的坐标。

发件人:Training Tesseract – Make Box Files

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

因此,对于每个字符,您都会获得该字符,然后是其边界框字符,然后是从 0 开始的页码。

【讨论】:

以上是关于如何在python中使用OCR从图像中获取文本识别器的坐标的主要内容,如果未能解决你的问题,请参考以下文章

基于百度OCR提取图像中的文本

文本的检测识别实战:使用 Tesseract 进行 OpenCV OCR 和文本识别

使用Python进行名片OCR(识别姓名,职务,电话,Email邮箱)

如何使用 OpenCV 进行 OCR 和文本检测识别

如何使用 openCV 或 OCR tesseract 从图像中提取文本? [复制]

从图像中识别文本