Wie man unter Linux Text aus Bildern extrahiert – Eine Schritt-für-Schritt-Anleitung

Maximilian Reinke

Tools

Einleitung

Die Möglichkeit, Text aus Bildern zu extrahieren, ist in vielen Situationen nützlich, sei es für die Archivierung, Recherche oder einfach, um Informationen aus einer Grafik weiterzuverwenden. Unter Linux gibt es leistungsstarke Open-Source-Tools, die diesen Prozess effizient gestalten. In diesem Beitrag zeige ich dir, wie du mithilfe von Flameshot, Tesseract und xclip Text aus Screenshots extrahieren und in die Zwischenablage kopieren kannst. Flameshot funktioniert sowohl unter X11 als auch Wayland und bietet eine einfache Möglichkeit, beliebige Inhalte auf dem Bildschirm zu erfassen und zu verarbeiten.

Das komplette Script findest Du am Ende des Beitrags.

Zentrale Frage

Wie kann man unter Linux jeglichen Inhalt, der auf dem Bildschirm angezeigt wird, in Text konvertieren und dabei ein einfaches Shell-Skript nutzen, das sowohl auf X als auch Wayland läuft?

Schritt-für-Schritt-Anleitung

1. Screenshot mit Flameshot aufnehmen

Das Skript beginnt mit:

flameshot gui --raw

Flameshot ist ein flexibles Screenshot-Tool, das sowohl mit X11 als auch mit Wayland kompatibel ist. Es öffnet eine grafische Oberfläche, mit der du einen Bereich des Bildschirms auswählen kannst. Ein großer Vorteil von Flameshot ist, dass es dir nicht nur erlaubt, beliebige Bildschirmausschnitte zu erstellen, sondern diese auch direkt in die Zwischenablage zu kopieren. So kannst du den Screenshot sofort weiterverarbeiten, ohne ihn manuell auf deiner Festplatte speichern zu müssen.

Da Flameshot jeglichen Inhalt auf dem Bildschirm erfassen kann – sei es Text in PDFs, Grafiken oder Webinhalte – ist es besonders vielseitig, um nahezu alles in Text umzuwandeln.

2. Bild in die Zwischenablage kopieren

Nachdem der Screenshot erstellt wurde, wird er mit xclip in die Zwischenablage kopiert:

xclip -selection clipboard -t image/png -o >/run/user/1000/clipboard.png

In diesem Schritt wird der ausgewählte Screenshot, der sich bereits in der Zwischenablage befindet (dank Flameshot), als PNG-Datei gespeichert, sodass er für die Texterkennung durch Tesseract bereitgestellt werden kann.

3. Texterkennung mit Tesseract

Nun kommt Tesseract, ein Open-Source-OCR-Tool, zum Einsatz, um den Text im Screenshot zu extrahieren:

tesseract -l deu /run/user/1000/clipboard.png stdout | xsel -ib

Tesseract analysiert das gespeicherte Bild und extrahiert den darin enthaltenen Text. Der Parameter -l deu gibt an, dass deutsche Texte erkannt werden sollen. Der erkannte Text wird dann direkt in die Zwischenablage kopiert, sodass du ihn sofort verwenden kannst.

Es ist wichtig zu beachten, dass Tesseract bei komplexen oder schlecht lesbaren Bildern Fehler machen kann. Bilder mit geringer Auflösung oder stark verzerrte Schriftarten können die Texterkennung erschweren. Trotzdem ist Tesseract für die meisten klaren und gut lesbaren Bilder eine zuverlässige Lösung.

4. Benachrichtigung anzeigen

Zum Abschluss zeigt Zenity eine Benachrichtigung an, die darauf hinweist, dass der Text erfolgreich in die Zwischenablage kopiert wurde:

zenity --notification --text "Text copied to clipboard"

Diese Rückmeldung gibt dem Nutzer eine Bestätigung, dass der Prozess abgeschlossen ist.

Script

#!/bin/bashflameshot gui --rawxclip -selection clipboard -t image/png -o >/run/user/1000/clipboard.pngtesseract -l deu /run/user/1000/clipboard.png stdout | xsel -ib

zenity --notification --text "Text copied to clipboard"

Beachte, dass das Script unter anderem die folgenden Pakete benötigt:

flameshot libnotify-bin xclip tesseract-ocr tesseract-ocr-deu xsel

Fazit

Dieses einfache Skript ermöglicht es dir, beliebigen Inhalt, der auf deinem Bildschirm angezeigt wird, in Text zu konvertieren – unabhängig davon, ob du X11 oder Wayland verwendest. Flameshot bietet dabei die nützliche Funktion, Bildschirmausschnitte direkt in die Zwischenablage zu kopieren, was den Workflow erheblich beschleunigt. Zusammen mit Tesseract kannst du den Text aus den erstellten Screenshots extrahieren, wobei du dir bewusst sein solltest, dass die Genauigkeit von Tesseract bei schlecht lesbaren Bildern eingeschränkt sein kann.

Um diesen Prozess noch effizienter zu gestalten, empfiehlt es sich, ein Tastenkürzel (Shortcut) für das Skript zu erstellen. Damit kannst du den gesamten Workflow mit nur einem Knopfdruck starten, was dir noch mehr Zeit spart und den Text-Extraktionsprozess intuitiver und schneller macht.

Call-to-Action: Probiere dieses Skript aus, um Text aus deinen Bildern zu extrahieren und direkt weiterzuverwenden. Passe das Skript an deine Bedürfnisse an – du kannst unter anderem die OCR-Sprache ändern oder weitere Tools einbinden, um deinen Arbeitsablauf zu optimieren!

Zurück

Kontaktieren Sie uns

Wir melden uns schnellstmöglich, um Sie bei Ihrem Anliegen zu unterstützen.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.