ScoreSight is an OCR (Optical Character Recognition) application designed to extract text from real-time updating streams like scoreboards, applications, videos and games.
It is written in Python and utilizes the following technologies:
- Qt6: A cross-platform GUI toolkit for creating graphical user interfaces.
- OpenCV: A computer vision library for image and video processing.
- Tesseract OCR: An open-source OCR engine for recognizing text from images.
It is the best free real-time OCR tool on planet Earth for scoreboards and games.
If you'd like to donate to help support the project, you can do so on GitHub or Patreon.
- Works natively on Windows, Mac and Linux (the only scoreboard OCR tool that does it)
- Input/Capture: USB, NDI, Screen Capture, URL / RTSP, Video Files, etc.
- Perspective correction
- Image processing and binarization techniques, local, global etc.
- Output to text files (.txt, .csv, .xml)
- HTTP output via local server: HTML, JSON, XML and CSV endpoints
- Call external HTTP services with the OCR data
- Import & Export configuration profiles
- Integrations: OBS (websocket), vMix (API), NewBlue FX Titler (API), UNO (API), generic HTTP APIs
- Up to 30 updates/s
- Unlimited detection boxes
- Camera bump and drift correction with stabilization algorithm
- Unlimited devices or open instances on the same device
- Detect any scoreboard fonts, general fonts and even "dot" indicators
- Translated to 12 languages (English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Polish, Portugese, Russian, Chinese)
- Collect OCR training data and annotate it with a built-in tool
Price: FREE.
Very short video tutorials:
Additional guides:
- How to use the internal HTTP server
- How to connect to vMix
- How to send API requests to external services
- How to collect and annotate OCR training data
See the releases page for downloadable executables and installers.
See the Install Guide for help with installation.
- Python 3.11
- git
- Clone the repository:
git clone https://github.com/occ-ai/scoresight.git
- Install the required dependencies:
pip install -r requirements.txt
For Mac and Windows there are further dependencies in requirements-mac.txt
and requirements-win.txt
- Create a
.env
file. See the contents of the file in the.github/worksflows/build.yaml
file
There are some extra steps for installation on Windows:
- Download and install https://visualstudio.microsoft.com/visual-cpp-build-tools/ C++ Build Tools
- Build the win32DeviceEnum pyd by
$ cd src/win32DeviceEnum && python.exe setup.py build_ext --inplace
On Mac, and particularly on Arm64, you will need to install dependencies manually. This is reflected in the ./github/actions/build.yaml file.
Get the project from the repo and build it locally
$ git clone https://github.com/nocarryr/cyndilib.git
$ cd cyndilib
$ pip install setuptools numpy cython
$ pip install .
Get the project from the repo and built it locally.
This assumes you have Homewbrew in /opt/homebrew
but if it's in /usr/local
then there's no need for the extra flagging.
$ git clone https://github.com/sirfz/tesserocr.git
$ cd tesserocr
$ /opt/homebrew/brew install tesseract leptonica
$ PATH="$PATH:/opt/homebrew/bin" CPPFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" python3 -m pip install --no-binary tesserocr tesserocr
-
Compile the UI files into Python:
./scripts/compile_ui.ps1
-
Launch the application:
python main.py
-
Follow the on-screen instructions to load an image of the scoreboard and extract the text.
You may want to build a distributable .exe or .app or even an installer, this is possible with PyInstaller.
To build the executable run PyInstaller.
pyinstaller --clean --noconfirm scoresight.spec -- --mac_osx
pyinstaller --clean --noconfirm scoresight.spec -- --win
pyinstaller --clean --noconfirm scoresight.spec
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request.
This project is released under the MIT license.
If you have any questions or suggestions, feel free to leave an issue on the repository. You may also email [email protected].
If you wish to contract the development team to productionize ScoreSight for your needs, please contact [email protected].