The screen-ocr
package makes it easy to perform OCR on portions of the screen.
Choose one of the following backends and follow the steps. WinRT is recommended for Windows and Tesseract for all other platforms.
WinRT is a Windows-only backend that is very fast and reasonably accurate. It requires Python 3.7 or later. To install screen-ocr with WinRT support, run pip install screen-ocr[winrt]
Tesseract is a cross-platform backend that is much slower and slightly less accurate than WinRT. To install screen-ocr with Tesseract support:
- Install Tesseract binaries. For Windows, see https://github.com/UB-Mannheim/tesseract/wiki.
- pip install screen-ocr[tesseract]
EasyOCR is a very accurate but slow backend and only runs on Python 64-bit, and hence is considered experimental. To install screen-ocr with WinRT support, run pip install screen-ocr[easyocr]
You can do a simple test by running python -m screen_ocr
to OCR the current screen contents. See __main__.py
for the code.
If using Tesseract with a custom installation directory on Windows, set
tesseract_data_path
and tesseract_command
paths appropriately when
constructing a Reader
instance.
See also gaze-ocr for more a more involved usage example (note: there is no import screen_ocr
because ocr_reader is an injected instance of screen_ocr.Reader
).