dpScreenOCR
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 24.04 Noble Numbat
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
dpScreenOCR ist ein Texterkennungsprogramm für den Desktop. Es kann markierte gedruckte Zeichen erkennen, sofern diese deutlich genug sind. Dabei ist auch möglich direkt aus dem Webbrowser, auch aus Bildern und Videos wie zum Beispiel auf Youtube, im Standbild Texte auszulesen. Immer unter der Voraussetzung, dass diese Zeichen deutlich genug sind, keine Handschrift sind und Texte nicht zu schräg ins Bild gehalten werden. dpScreenOCR ist auch sehr praktisch wenn Quellangaben in einem Bild stehen, Artikeltexte aber keinen Link zu Quelle anbieten. Solch ein Anwendungsfall für dpScreenOCR als Beispiel mit Firefox hier in einem Minivideo:
In "Social Media", aber auch in Zeitungen, Blogs und in Videos werden immer wieder mal Quellangaben im Bild gezeigt. Diese müsste man mühsam abtippen. Aber da kommt nun dpScreenOCR ins Spiel. Per Shortcut lässt sich der zu erkennende Bereich mit einer gestrichelten Linie mit der Maus markieren, dies geschieht dort im Beispielvideo. Die erkannten Zeichen werden dort im Video ins Suchfeld vom Webbrowser eingefügt. Google findet die Datenquelle der Grafik.
Installation¶
dpScreenOCR ist für LTS Releases als Fertigpaket über ein PPA verfügbar.
Adresszeile zum Hinzufügen des PPAs:
ppa:daniel.p/dpscreenocr
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams daniel.p zu entnehmen.
sudo add-apt-repository ppa:daniel.p/dpscreenocr
dpscreenocr
Befehl zum Installieren der Pakete:
sudo apt-get install dpscreenocr
Oder mit apturl installieren, Link: apt://dpscreenocr
Eigenbau¶
Für STS Releases sind keine dpScreenOCR Fertigpakete verfügbar. Selbsthilfe ist dann die Devise, wenn keine Fertigpakete zur Verfügung stehen. Hierzu sei auf den Wiki Artikel Programme kompilieren verwiesen.
building-unix Instruktion für dpScreenOCR auf Github:
Als Hilfe hier noch ein alias für die Datei $HOME/.bashrc, um direkt aus Github den frischen Code zu holen und zu bauen, aber gänzlich ohne Gewähr dass das immer und allzeit funktionieren mag:
alias dpscreenocrneu='DPSCREENOCRDIR=$HOME/Installationsdisk/dpscreenocr && \ DPSCREENOCRSOURCE=$DPSCREENOCRDIR/dpscreenocr && \ [ ! -d $DPSCREENOCRDIR ] && mkdir -pv DPSCREENOCRDIR ; \ [ ! -d $DPSCREENOCRSOURCE ] && git clone https://github.com/danpla/dpscreenocr.git $DPSCREENOCRSOURCE ; \ sudo apt-get install cmake make pkg-config g++ qtbase5-dev libtesseract-dev libx11-dev libxext-dev gettext pandoc ; \ printf "\n \033[45m\033[1;36m==> Aktualisiere dpScreenOCR Sourcecode. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \ git -C $DPSCREENOCRSOURCE pull ; \ sudo rm -fr $DPSCREENOCRSOURCE/build ; \ printf "\n \033[45m\033[1;36m==> Clear build directory. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \ mkdir -v $DPSCREENOCRSOURCE/build && \ cd $DPSCREENOCRSOURCE/build && \ printf "\n \033[45m\033[1;36m==> Compile dpScreenOCR. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. && \ time make -j $(nproc) ADDFLAGS=-march=native STRIP=true OPTFLAGS="-O3 -ftree-loop-vectorize -flto=`nproc --all`" && \ printf "\n \033[45m\033[1;36m==> Lösche alte dpScreenOCR Dateien. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \ sudo rm -fv $(dpkg -S /usr/local/bin/dpscreenocr 2>&1 | awk '\''/dpkg-query/{print $--NF}'\'') ; \ sudo rm -fv $(dpkg -S /usr/local/share/applications/dpscreenocr.desktop 2>&1 | awk '\''/dpkg-query/{print $--NF}'\'') ; \ sudo rm -rfv $(dpkg -S /usr/local/share/dpscreenocr 2>&1 | awk '\''/dpkg-query/{print $--NF}'\'') ; \ sudo rm -fv $(dpkg -S /usr/local/share/icons/hicolor/*/apps/dpscreenocr.* 2>&1 | awk '\''/dpkg-query/{print $--NF}'\'') ; \ sudo rm -rfv $(dpkg -S /usr/local/share/doc/dpscreenocr 2>&1 | awk '\''/dpkg-query/{print $--NF}'\'') ; \ printf "\n \033[45m\033[1;36m==> Install dpScreenOCR. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \ sudo make install && \ printf "\n \033[45m\033[1;36m==> Install dpScreenOCR successful. \033[0m\033[42m\033[1;36m ==> Done.\033[0m \n \n" || \ printf "\n \033[41m\033[1;36m==> Configure or install dpScreenOCR failed.\033[0m \n \n" ; \ sudo rm -fr $DPSCREENOCRSOURCE/build ; \ cd $HOME'
Die Datei $HOME/.bashrc muss anschließend neu eingelesen werden:
source $HOME/.bashrc
Bedienung¶
dpScreenOCR kann direkt aus dem Terminal gestartet werden.
dpscreenocr
Im KDE-Menü sortiert dpScreenOCR sich unter Dienstprogramme ein, woraus es ebenfalls gestartet werden kann. Noch praktischer ist es, wenn der Start von dpScreenOCR auf ein Tastenkürzel gelegt wird.
dpScreenOCR_Einstellungen |
dpScreenOCR Einstellungen¶
In den dpScreenOCR Einstellungen lässt sich auswählen ob der erkannte Text direkt in die Zwischenablage übergeben wird, oder dem Verlauf hinzugefügt wird. Auch ein selbst zu wählender Befehl lässt sich auf Wunsch ausführen. Die Tastenkürzel im dpScreenOCR Einstellungsmenü dienen dazu, Beginn und Ende des zu markierenden Textes für die Erkennung zu definieren.
Kurze Einführung¶
Das selbst in den dpScreenOCR Einstellungen gewählte Tastenkürzel drücken. Mit dem Mauszeiger lässt sich dann eine markierte Umrandung ziehen. Ein zweites mal das Tastenkürzel drücken schießt die Auswahl des Texterkennungsbereichs ab. In diesem gestrichelten Bereich findet dann die Texterkennung statt. Siehe auch oben im Beispielvideo dpScreenOCR im Einsatz.