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
- Import & Export configuration profiles
- Integrations: OBS (websocket), vMix (API), NewBlue FX Titler (API)
- 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)
Price: FREE.
Very short video tutorials:
Additional guides:
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 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 support@scoresight.live.
If you wish to contract the development team to productionize ScoreSight for your needs, please contact info@scoresight.live.