Skip to content

FAQs

General

How can I improve the detection accuracy?

How can I improve the detection accuracy?

The quality of detections is mainly determined by Tesseract, an open source project for OCR of printed text. NormCap builds upon this great library and can influence the quality only a bit by preprocessing the images regarding screen specific properties. You, the user, have much more influence on the quality by paying attention to certain aspects:

1) Select the correct language

Make sure to select the appropriate language(s) in the settings. Selecting multiple languages might slow down the recognition.

2) Avoid selecting decorations

The text detection is very sensible to elements other than text, for example borders, lines or icons. If possible, do not select those:

How to avoid borders

3) Avoid heterogeneous colors

If the text you want to recognize has different backgrounds, it can help to select those portions of text separately:

How to split sections with different colors in multiple selection

4) Zoom in

If possible, enlarge the region you want to detect, before selecting it with NormCap. This has a huge effect in situations, where zooming in doesn't decrease the quality, e.g. zooming into webpages, PDF documents or images which are not yet at their full resolution. It has little effect, if enlarging decreases the quality, e.g. for images with low resolutions.

5) Select more text

Sometimes Tesseract struggles with recognizing text with only very few characters, like a single word. In this case, selecting a larger portion of text can improve the accuracy.

6) Try different language models

The prebuilt NormCap packages are using tessdata-fast models, which offer a very good accuracy to speed compromise. But you can also try the slower and larger models from tessdata or tessdata-best instead.\ To find the directory in which you have to put the manually downloaded models navigate to the "Language" section of NormCap's settings, then click "add/remove" and finally "View tessdata folder in File Manager".

7) Report examples

If the results are still bad, please submit a screenshot of the text you are trying to recognize as an issue. Chances are small, but we might be able to improve something.

How can I start NormCap via command line interface?

How can I start NormCap via command line interface?

The command to run NormCap from the terminal/console depends on your operating system and installation method:

  • On Windows (MSI): %LOCALAPPDATA%\Programs\NormCap\NormCap.exe
  • On macOS (DMG): /Applications/NormCap.app/Contents/MacOS/NormCap
  • On Linux (AppImage): ./NormCap-{version}-x86_64.AppImage
  • On Linux (FlatPak): flatpak run --command=normcap com.github.dynobo.normcap
  • On Linux (AUR): normcap
  • Installed as Python package: normcap

NormCap has some useful command line feature, you can list them by appending the flag --help to the command mentioned above.

How can I start NormCap via a keyboard shortcut?

How can I start NormCap via a keyboard shortcut?

You'll have to configure that using your operating system's functionality, e.g. following these guides:

Windows

macOS

Linux

To identify the command to run NormCap, please see the FAQ "How can I start NormCap via command line interface?"

Info

The reason for not adding an option to configure a shortcut within NormCap itself can be found in this Architecture Decision Record. If you have read the explanation and like to challenge its argumentation, feel free to open a discussion.

How can I run NormCap automatically on system start?

How can I run NormCap automatically on system start?

Use your operating system's functionality to autostart applications after boot. You will need the command to start NormCap and you can search for tutorials how to run that on start-up, e.g.:

Warning

Add the --background-mode flag to the command used to start NormCap! Then NormCap will start silently minimized to system tray without triggering a capture!

How can I start NormCap in the background?

How can I start NormCap in the background?

First identify the command to run NormCap on your system.

Append the flag --background-mode to that command to start NormCap right into the system tray, without triggering a capture.

This is e.g. useful, if, you want to autostart NormCap after system start.

How can I add additional languages to NormCap?

How can I add additional languages to NormCap?

The prebuilt packages are shipped with support for English only. To install additional languages, click the settings icon and in the "Languages" section of the menu click "add/remove...".

If you installed NormCap as Python package, it depends on your system and setup. Please search online.

Why is the Windows-Installer's file size so large?

Why is the Windows-Installer's file size so large?

NormCap's MSI installer is much larger than the ones for Linux and macOS because the included Tesseract binaries are larger.

NormCap used to include a set of smaller binaries, which resulted in more consistent installer file sizes for all operating systems. Unfortunately, they seemed to lack some dependencies and lead to issues on some Windows systems. Hopefully, the larger binaries will fix this issue. This decision is not set in stone, so please feel free to leave some feedback regarding this topic!

Is any data send to the internet?

Is any data send to the internet?

In general, NormCap works offline and does not send any data anywhere.

The only exceptions are optional features, which require accessing resources on the internet. In that case, HTTPS request are performed and generate the typical access log data on the target server.

Those features are:

  • Update check: If you enable the check for updates on start, NormCap regularly fetches its releases page from GitHub.
  • Manage languages: If you download additional languages, they are being fetched from a GitHub repository.
Are there alternatives to NormCap?

Are there alternatives to NormCap?

Some applications offer similar features like NormCap and might be a good or even better alternative for you: It completely depends on your use case and requirements. Some similar open-source Projects are:

Troubleshooting

How to get debug information?

How to get debug information?

Launch NormCap via a terminal/console using the right command for your system, to which you can append the flag --verbosity debug or short -v debug. This will print additional information to the console, which can be useful to identify problems.

NormCap is not starting

NormCap is not starting

Please try to take a look at the debug information. It might provide enough information for you to solve the issue for yourself. If it doesn't help you, don't hesitate to report your problem description together with debug information.

[Windows] Upgrading NormCap failed

[Windows] Upgrading NormCap failed

Did you run the msi-installer to upgrade from an older NormCap version, but the installer stated an error or the NormCap can't be started anymore?

You did nothing wrong, this is the recommended way to upgrade NormCap. But in rare cases, this does not work, because of incompatible changes in the installer between certain versions.

In that case, please try to uninstall all existing NormCap versions from your system before trying a clean installation. (In the process, your settings might get reset, and you might have to re-download languages.)

If you still experience any problems after such a clean installation, please report that issue.

[Linux] Normcap does not show up in system tray

[Linux] Normcap does not show up in system tray

Is your display environment Gnome Shell? Then you probably need to install a Gnome Shell extension to support showing applications in the top bar, e.g.:

[Linux] NormCap doesn't show a notification after capture

[Linux] NormCap doesn't show a notification after capture

NormCap's notifications depend on the system tray functionality. If you start NormCap, but its Icon doesn't appear in the system tray, proceed like in the question above.

[Linux] Error: Could not load the Qt platform plugin

[Linux] Error: Could not load the Qt platform plugin

In case you get an output like this...

$ normcap
QtFatalMsg - This application failed to start because no Qt platform plugin
could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen,
vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

... the chances are, this can be solved by installing additional dependencies:

  • Arch (Wayland): pacman -S qt6-wayland
  • Arch (Xorg): pacman -S libxcb xcb-util-cursor
  • Debian/Ubuntu (Wayland): apt install qt6-wayland
  • Debian/Ubuntu (Xorg): apt install libxcb1 libxcb-cursor0
  • Fedora (Wayland): dnf install qt6-qtwayland
  • Fedora (Xorg): dnf install libxcb xcb-util-cursor
[Linux] NormCap doesn't copy the results to clipboard when launched via shortcut

[Linux] NormCap doesn't copy the results to clipboard when launched via shortcut

This is behavior was observed only on KDE + Wayland (#422) so far, and only when NormCap was started via a keyboard shortcut / key binding. The root cause is still unknown, if you have any information or ideas, please comment in the ticket above.

Strangely, a workaround seems to be to configure the keyboard shortcut via "System Settings" → "Shortcuts" → "Add command" and configure the command in a way, that it pipes the output to somewhere, e.g. /dev/null:

normcap 2>&1 | tee /dev/null
[Linux, AppImage] Error: AppImages require FUSE to run

[Linux, AppImage] Error: AppImages require FUSE to run

This is not a NormCap issue but a requirement for AppImages. You need to make sure, that the FUSE library is installed on your system. E.g. on Ubuntu 22.04 you need to run sudo apt install libfuse2.

See this blog post for details.

[Linux, AppImage] Error while loading shared libraries: libcrypt.so.1

[Linux, AppImage] Error while loading shared libraries: libcrypt.so.1

The application used to package the AppImage has a number of runtime requirements. One of those requirements is libcrypt.so.1, which should be provided by most modern Linux distributions, as it is mandated as part of the Linux Standard Base Core Specification. However, some distributions don't include libcrypt.so.1 as part of the base OS configuration. This can usually be fixed by installing the libxcrypt-compat package.

[macOS] When NormCap is started, an empty desktop shows up

[macOS] When NormCap is started, an empty desktop shows up

This issue usually occurs on the after installing NormCap, either for the first time or after an update.

This is a known issue related to macOS's permissions settings: If NormCap doesn't have the system's permission to take a screenshot, an empty desktop will be shown. Or to be precise: NormCap doesn't know that it lacks permissions, tries to take a screenshot nevertheless, which results in a screenshot of the empty desktop.

Steps to solve this:

  1. Close NormCap, if it is running.
  2. Navigate to "System Preferences" → "Security & Privacy" → "Privacy" → "Screen Recording" → "Click unlock".
  3. Do you already see "NormCap" on the right side? If yes, "remove" [–] it. Un-ticking the checkbox is not enough!
  4. Click "add" [+] → "Applications" → "NormCap".
  5. Confirm that you see NormCap on the right side with a checkmark in front of it.
  6. Start NormCap, it should work now.
  7. You might need to repeat those steps after installing a new version of NormCap.

Hopefully, this cumbersome user experience can be improved in a future release.

Development

"No such file or directory" error when running 'briefcase build'

"No such file or directory" error when running briefcase build

To verify, if this is the issue you are facing, run the docker image interactively and try to run the linuxdeploy-*.AppImage file there:

$ docker run -it \
  --volume /home/<USER>/<PROJECT PATH>/normcap/linux:/app:z \
  --volume /home/<USER>/.briefcase:/home/brutus/.briefcase:z \
  --env VERSION=0.2.0 briefcase/eu.dynobo.normcap:py3.9 \
  /bin/bash
$ /home/brutus/.briefcase/tools/linuxdeploy-x86_64.AppImage

If that results in a No such file or directory error, according to this issue and this one a workaround is to correct the "magic" bytes of the AppImage. This worked for me:

sed '0,/AI\x02/{s|AI\x02|\x00\x00\x00|}' -i linuxdeploy-x86_64.AppImage