它不想从图像中提取文本,就像终端保持黑色并带有空格,就像它实际上试图提取文本一样,这是我的代码和图像 从 PIL 导入图像 导入 pytesseract 导入CV2 “C:\用户\埃米利亚诺\下载\practic.png” pytesseract.pytesseract.tesseract_cmd="C:\Program Files\Tesseract-OCR\tesseract.exe"
img=cv2.imread('C:\Users\Emiliano\Downloads\practic.png') cv2.imshow('窗口', img) cv2.waitKey(0) cv2.destroyAllWindows() 文本=pytesseract.image_to_string(img) print(text)
没注意到这个xd
你的代码有一些问题:
-
图片路径不正确:
你正在使用反斜杠 (
\
) 用于图片路径,这在 Python 中可能会被解释为转义字符。你需要使用正斜杠 (/
) 或者在路径字符串前面加上r
来表示原始字符串。 -
没有显示图片:
你在调用
cv2.imshow()
后立即调用了cv2.destroyAllWindows()
,这意味着图片窗口会立即关闭,你无法看到它。 - 代码缩进错误: Python 代码的缩进非常重要,你需要确保代码块的缩进正确。
以下是修改后的代码:
from PIL import Image
import pytesseract
import cv2
# 设置 Tesseract 路径
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# 读取图片
img = cv2.imread(r'C:/Users/Emiliano/Downloads/practic.png')
# 显示图片
cv2.imshow('图片', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 使用 Pytesseract 提取文本
text = pytesseract.image_to_string(img)
# 打印提取的文本
print(text)
修改说明:
-
使用了
r
前缀来表示原始字符串,避免反斜杠被解释为转义字符。 -
在
cv2.imshow()
后添加了cv2.waitKey(0)
,以便在按下任意键之前保持图片窗口显示。 - 确保代码块的缩进正确。
如果仍然无法提取文本,请确保:
- 你已经正确安装了 Tesseract OCR,并且设置了正确的路径。
- 图片清晰,文字易于识别。如果图片质量差,Pytesseract 可能无法准确提取文本。你可以尝试使用图像处理技术来提高图像质量。
希望以上信息能够帮助你解决问题!
标签:python,new-operator From: 78795947