如何使用Tesseract/Python从.png中的坐标提取文本?

如何使用Tesseract/Python从.png中的坐标提取文本?,python,pdf,png,tesseract,Python,Pdf,Png,Tesseract,我试图给我的脚本提供“X”坐标,其中是一个我想要检索的文本,然后用该文本命名为.png。问题是,脚本读取整个.png文件,并提供所有文本。我需要给脚本坐标(我有),然后只检索我要找的单词 import os import cv2 import pytesseract import numpy as np from PIL import ImageGrab import time pytesseract.pytesseract.tesseract_cmd = 'C:\\Program File

我试图给我的脚本提供“X”坐标,其中是一个我想要检索的文本,然后用该文本命名为.png。问题是,脚本读取整个.png文件,并提供所有文本。我需要给脚本坐标(我有),然后只检索我要找的单词

import os
import cv2
import pytesseract
import numpy as np
from PIL import ImageGrab
import time


pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
img = cv2.imread('example-1.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
resultado = print(pytesseract.image_to_string(img))

#############################################
#### Detect characters ######
#############################################
hImg, wImg,_ = img.shape
boxes = pytesseract.image_to_boxes(img)


for b in boxes.splitlines():
    # print(b)
    b = b.split(' ')
    # print(b)
    x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    cv2.rectangle(img, (x,hImg- y), (w,hImg- h), (50, 50, 255), 2)
    cv2.putText(img,b[0],(x,hImg- y+25),cv2.FONT_HERSHEY_SIMPLEX,1,(50,50,255),2)
    print(b)

cv2.imshow('img', img)
cv2.waitKey(0)
.png中单词的坐标如下

['183', '2157', '203', '2197', '0']
['230', '2157', '250', '2199', '0']
['254', '2157', '274', '2187', '0']
['301', '2157', '319', '2197', '0']
['324', '2157', '345', '2187', '0']
['352', '2157', '362', '2199', '0']
['376', '2157', '386', '2197', '0']
['395', '2157', '415', '2187', '0']

谢谢!问候。

image\u to\u框为每个字符提供坐标。您必须编写额外的代码来计算单词坐标。您的x、y、w、h线可能有错误。我认为坐标是边界框的对角,是x1,y1,x2,y2。你会怎么做?