Basic usage: - Launch `normcap` - Select a region on the screen - Retrieve recognized text in clipboard
normcap alternatives and similar packages
Based on the "OCR" category.
Alternatively, view normcap alternatives based on common mentions on social networks and blogs.
1.2 0.0 normcap VS SignalumTo explore creating an application that detects available connections at once from wifi and bluetooth
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of normcap or a related project?
<!-- markdownlint-disable MD013 MD026 MD033 -->
OCR powered screen-capture tool to capture information instead of images.
- If you experience issues or have questions please look at the FAQs or open an issue.
- On Linux, make the AppImage executable before running it:
chmod +x NormCap-Linux.AppImage ./NormCap-Linux.AppImage
- On MacOS, you have to allow the unsigned application on first start: "System Preferences" → "Security & Privacy" → Tab "General" → "Open anyway". \ Depending on your OS, you might also need to allow NormCap to take screenshots.
As an alternative to a pre-build package you can install the NormCap Python package:
# Install dependencies (Ubuntu/Debian) sudo apt install tesseract-ocr tesseract-ocr-eng \ libtesseract-dev libleptonica-dev \ python3-dev ## Install dependencies (Arch) sudo pacman -S tesseract tesseract-data-eng leptonica ## Install dependencies (Fedora) sudo dnf install tesseract tesseract-devel \ libleptonica-devel python3-devel # Install normcap pip install normcap # Run ./normcap
# Install dependencies brew install tesseract tesseract-lang # Install normcap pip install normcap # Run ./normcap
1. Install "Tesseract 4.1", e.g. by using the installer provided by UB Mannheim.
2. Set the environment variable
TESSDATA_PREFIX to Tesseract's data folder, e.g.:
setx TESSDATA_PREFIX "C:\Program Files\Tesseract-OCR\tessdata"
# Install tesserocr package pip install https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.4.0-tesseract-4.0.0/tesserocr-2.4.0-cp37-cp37m-win_amd64.whl # Install normcap pip install normcap # Run normcap
<esc>key to abort a capture and quit the application.
<space>key while selecting a region with the mouse (left mouse button has to be hold down) to switch between the two capture modes:
- ★ (parse): Try to auto-detect the type of text using magics and format the text accordingly, then copy
- ☰ (raw): Copy detected text line by line, without further modification
Command line options
NormCap has no settings, just a set of command line arguments:
(normcap)[email protected]:~$ normcap --help usage: normcap [-h] [-l LANGUAGE] [-c COLOR] [-n] [-t] [-v] [-V] OCR-powered screen-capture tool to capture information instead of images. optional arguments: -h, --help show this help message and exit -l LANGUAGE, --language LANGUAGE set language(s) for text recognition, e.g. eng+deu (default: eng) -c COLOR, --color COLOR set primary color for UI (default: #FF2E88) -n, --no-notifications disable notifications shown after ocr detection (default: False) -t, --tray keep running in system tray - experimental (default: False) -v, --verbose print debug information to console (default: False) -V, --very-verbose print more debug information to console (default: False)
"Magics" are like add-ons providing automated functionality to intelligently detect and format the captured input.
First, every "magic" calculates a "score" to determine the likelihood of being responsible for this type of text. Second, the "magic" which achieved the highest "score" takes the necessary actions to "transform" the input text according to its type.
Currently implemented Magics:
|Single line||Only single line is detected||Trim unnecessary whitespace|
|Multi line||Multi lines, but single Paragraph||Separated by line breaks and trim each lined|
|Paragraph||Multiple blocks of lines or multiple paragraphs||Join every paragraph into a single line, separate different paragraphs by empty line|
|Number of chars in email addresses vs. overall chars||Transform to a comma-separated list of email addresses|
|URL||Number of chars in URLs vs. overall chars||Transform to line-break separated URLs|
Prerequisites are Python >=3.7.1, Poetry, 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
This project uses the following non-standard libraries:
- pyside2 - bindings for Qt UI Framework
- tesserocr - wrapper for tesseract's API
- jeepney - DBUS client
Packaging is done with:
- briefcase - converting Python projects into standalone apps
And it depends on external software
- tesseract - OCR engine
Thanks to the maintainers of those nice libraries!
*Note that all licence references and agreements mentioned in the normcap README section above are relevant to that project's source code only.