我刚开始使用python,并且尝试创建在屏幕的一部分上执行实时OCR的代码。我确定这段代码可以正常工作,但是它只会给我带来很多tesseract错误。是否需要保存图像才能使Tesseract工作?是否有更好的OCR库来完成此任务? OpenCV部分可以完美运行并显示图像。
import numpy as np
import cv2
from PIL import ImageGrab
import pytesseract
while True:
orig_img = ImageGrab.grab(box)
np_im = np.array(orig_img)
img = cv2.cvtColor(np_im, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(img)
cv2.imshow('window',img)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
print(text)
答案 0 :(得分:1)
我修复了它。我不知道我需要在PC中安装tesseract。我还添加了
im = Image.fromarray(img)
im.save("img.png")
保存图像