Python-图像到文本,用五角大楼形状的pytesseract括起来

Python-图像到文本,用五角大楼形状的pytesseract括起来,python,python-imaging-library,cv2,python-tesseract,Python,Python Imaging Library,Cv2,Python Tesseract,我正在尝试使用python准备EPC证书中的能效等级。EPC证书通常采用PDF格式。我已经将PDF转换为图像,并使用PyteSeract从图像中获取文本。然而,我没有得到预期的结果 示例图像: 预期产出: 电流额定值:79,潜在额定值:79 到目前为止,我所尝试的: from pdf2image import convert_from_path import pytesseract from PIL import Image pages = convert_from_path(r'my_fi

我正在尝试使用python准备EPC证书中的能效等级。EPC证书通常采用PDF格式。我已经将PDF转换为图像,并使用PyteSeract从图像中获取文本。然而,我没有得到预期的结果

示例图像:

预期产出: 电流额定值:79,潜在额定值:79

到目前为止,我所尝试的:

from pdf2image import convert_from_path
import pytesseract
from PIL import Image

pages = convert_from_path(r'my_file.pdf', 500)
img =pages[0].save(r'F:\Freelancer\EPC rating\fwdepcs\out.jpg', 'JPEG')
text = pytesseract.image_to_string(Image.open(r'F:\Freelancer\EPC rating\fwdepcs\out.jpg'))
然而,文本并不能捕获79


我还尝试了cv2模式匹配和形状检测,但由于其他原因,这些都不起作用。

您说您已经将此pdf转换为图像文件

使用PIL(.crop())或opencv裁剪图片。并按如下方式进行裁剪:

使用PIL
Image.convert(“1”)
,也许tesseract可以捕捉到这个数字。
如果没有,我想您可以使用jTessBoxEditor来训练tesseract。

如何检测以编程方式裁剪的位置?我正在尝试自动完成这项任务。@BhaveshGhodasara是不是每幅图片都是这样的???如果是这样,那么我想你可以手动获取这些像素的位置。@BhaveshGhodasara我的意思是,你可以手动获取其中一个图片像素的位置。然后循环所有这些图片,以捕获
当前评级
潜在评级
。转换('1')也不起作用。你知道如何使用jTessBoxEditor进行培训吗?任何文档链接都会有帮助。@BhaveshGhodasara我有一些关于如何使用jTessBoxEditor的中文示例。如果你不介意,我可以给你一个中文博客。