Code Monkey home page Code Monkey logo

normcap's Introduction

NormCap

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

Test 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 an 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/uploaded 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, hatch and Tesseract >=5.0 (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
hatch env create

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

# Run NormCap in virtual env
hatch 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

Contributors

Made with contrib.rocks.

normcap's People

Contributors

dynobo avatar ashishpatel1992 avatar lgro avatar koppor avatar dependabot[bot] avatar wxitcode avatar eson57 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.