如何使用python直接从屏幕上读取文本



我想构建一个项目,从我的电脑屏幕的一部分连续读取文本,并将其显示在pycharm 的控制台上

我使用的是python 3,所有模块都是使用pycharm控制台中的pip安装的。

我用了这个代码:

import time
import cv2
import mss
import numpy
import pytesseract

mon = {'top': 0, 'left': 0, 'width': 150, 'height': 150}
with mss.mss() as sct:
while True:
im = numpy.asarray(sct.grab(mon))
# im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
text = pytesseract.image_to_string(im)
print(text)
cv2.imshow('Image', im)
# Press "q" to quit
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
# One screenshot per second
time.sleep(1)

得到了这个我无法处理的错误:

C:Usersali91PycharmProjectsOCRvenvScriptspython.exe
"C:/Users/ali91/PycharmProjects/OCR/lesson 1.py" Traceback (most
recent call last):   File
"C:Usersali91PycharmProjectsOCRvenvlibsite-packagespytesseractpytesseract.py",
line 252, in run_tesseract
proc = subprocess.Popen(cmd_args, **subprocess_args())   File "C:Program FilesPython39libsubprocess.py", line 947, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,   File "C:Program FilesPython39libsubprocess.py", line 1416, in
_execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file
specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):   File
"C:Usersali91PycharmProjectsOCRlesson 1.py", line 15, in <module>
text = pytesseract.image_to_string(im)   File "C:Usersali91PycharmProjectsOCRvenvlibsite-packagespytesseractpytesseract.py",
line 413, in image_to_string
return {   File "C:Usersali91PycharmProjectsOCRvenvlibsite-packagespytesseractpytesseract.py",
line 416, in <lambda>
Output.STRING: lambda: run_and_get_output(*args),   File "C:Usersali91PycharmProjectsOCRvenvlibsite-packagespytesseractpytesseract.py",
line 284, in run_and_get_output
run_tesseract(**kwargs)   File "C:Usersali91PycharmProjectsOCRvenvlibsite-packagespytesseractpytesseract.py",
line 256, in run_tesseract
raise TesseractNotFoundError() pytesseract.pytesseract.TesseractNotFoundError: tesseract is not
installed or it's not in your PATH. See README file for more
information.
  1. 通过以下方式验证您是否已正确安装pytesseract(全局或虚拟环境(pip install pytesserect
  2. 在PATH中添加pytesseract变量/可执行文件,以便在项目位置使用它,如下所示:

对于全局安装:

pytesseract.pytesseract.tesseract_cmd = 'C:Program Files (x86)Tesseract-OCRtesseract.exe'

对于虚拟环境安装:

pytesseract.pytesseract.tesseract_cmd = 'LOCATION_TO_VENVTesseract-OCRtesseract.exe'

将USER替换为计算机的用户名,并将LOCATION_TO_VENV替换为虚拟环境的绝对位置。

最新更新