• Stars
    star
    899
  • Rank 50,793 (Top 2 %)
  • Language
    Python
  • License
    Other
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OCR powered screen-capture tool to capture information instead of images

NormCap

OCR powered screen-capture tool to capture information instead of images. For Linux, macOS and Windows.

Build Coverage Status CodeQL

GitHub PyPi Flathub AUR

Buy Me A Coffee

Links: Source Code | Documentation | FAQs | Releases | Changelog

Screencast

Quickstart

Choose one of the options for a prebuilt release. If you encounter any issue please take a look at the FAQs or report it.

Windows

Linux

macOS

Note: You have to allow the unsigned application on first start: "System Preferences" β†’ "Security & Privacy" β†’ "General" β†’ "Open anyway". You also have to allow NormCap to take screenshots. (#135)

* Might be available delayed, as it is currently build manually. (Thx, @Takrin!)

Install Python package

As an alternative to a prebuilt package from above you can install the NormCap Python package for Python >=3.9, but it is a bit more complicated:

On Linux

# Install dependencies (Ubuntu/Debian)
sudo apt install build-essential tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev wl-clipboard

## Install dependencies (Arch)
sudo pacman -S tesseract tesseract-data-eng wl-clipboard

## Install dependencies (Fedora)
sudo dnf install tesseract wl-clipboard

## Install dependencies (openSUSE)
sudo zypper install python3-devel tesseract-ocr tesseract-ocr-devel wl-clipboard

# Install normcap
pip install normcap

# Run
./normcap

On macOS

# Install dependencies
brew install tesseract tesseract-lang

# Install normcap
pip install normcap

# Run
./normcap

On Windows

1. Install Tesseract 5 by using the installer provided by UB Mannheim.

2. Identify the path to Tesseract base folder. It should contain a /tessdata subfolder and the tesseract.exe binary. Depending on if you installed Tesseract system-wide or in userspace, the base folder should be:

C:\Program Files\Tesseract-OCR

or

C:\Users\<USERNAME>\AppData\Local\Programs\Tesseract-OCR

3. Adjust environment variables:

  • Create an environment variable TESSDATA_PREFIX and set it to your Tesseract base folder, e.g.: "System Properties" β†’ Tab "Advanced" β†’ "Environment Variables..." β†’ "New..." β†’ Variable: TESSDATA_PREFIX, Value: "C:\Program Files\Tesseract-OCR"

  • Append Tesseract's base folder to the environment variable PATH, e.g.: "System Properties" β†’ Tab "Advanced" β†’ "Environment Variables..." β†’ Section "User variables" β†’ Select PATH β†’ "Edit..." β†’ Add a new entry "C:\Program Files\Tesseract-OCR"

  • To test your setup, open a new cmd-terminal and run:

    tesseract --list-langs

4. Install and run NormCap:

# Install normcap
pip install normcap

# Run
normcap

Why "NormCap"?

See XKCD:

Comic

Development

Prerequisites for setting up a development environment are: Python >=3.9, Poetry>=1.3.2 and Tesseract (incl. language data).

# Clone repository
git clone https://github.com/dynobo/normcap.git

# Change into project directory
cd normcap

# Create virtual env and install dependencies
poetry install

# Register pre-commit hook
poetry run pre-commit install

# Run NormCap in virtual env
poetry run python -m normcap

Credits

This project uses the following non-standard libraries:

  • pyside6 - bindings for Qt UI Framework

And it depends on external software:

Packaging is done with:

  • briefcase - converting Python projects into standalone apps

Thanks to the maintainers of those nice tools!

Similar open source tools

If NormCap doesn't fit your needs, try those alternatives (no particular order):

Certification

WOMM