Estoy tratando de obtener las coordenadas o posiciones del carácter de texto de una imagen usando Tesseract. Quiero saber la posición exacta del píxel, para poder hacer clic en ese texto con alguna otra herramienta.
Editar :
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 contienen texto reconocido con valor de límite de cuadro. Pero no estoy seguro de cómo usar ese valor límite para obtener las coordenadas del texto.
El valor de la variable de data es el siguiente:
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 0puedes probar esto:
img = 'tes.jpg' imge = Image.open(img) data=pytesseract.image_to_boxes(imge) print(data)Esto le dará directamente el resultado Me gusta:
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 0Tiene las coordenadas del cuadro delimitador en cada línea.
De: Training Tesseract - Hacer archivos de caja
carácter, izquierda, abajo, derecha, arriba, página
Entonces, para cada carácter, obtiene el carácter, seguido de los caracteres del cuadro delimitador, seguido del número de página basado en 0.