In Ubuntu 12.10, wenn ich tippe
gnome-screenshot -a | tesseract output
es kehrt zurück:
** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.
Wie kann ich einen Text auf dem Bildschirm auswählen und in Text (Zwischenablage oder Dokument) konvertieren?
Vielen Dank!
gnome-screenshot -a
? Auch warum leiten Sie die Ausgabe an tesseract weiter? Wenn ich nicht falsch liege gnome-screenshot speichert das Bild in einer Datei und "druckt" es nicht ...auto-save-directory
? Und hat es irgendetwas hineingelegt? Interessanter Link: forums.debian.net/viewtopic.php?f=6&t=85683Antworten:
Möglicherweise gibt es bereits ein Tool, das dies erledigt, aber Sie können auch ein einfaches Skript mit einem Screenshot-Tool und Tesseract erstellen, während Sie versuchen, es zu verwenden.
Nehmen Sie als Beispiel dieses Skript (in meinem System habe ich es gespeichert als
/usr/local/bin/screen_ts
):Und mit Zwischenablage-Unterstützung:
Es
scrot
nimmt den Bildschirm ein,tesseract
erkennt den Text undcat
zeigt das Ergebnis an. Die Zwischenablage-Version verwendet zusätzlich,xsel
um die Ausgabe in die Zwischenablage zu leiten.HINWEIS :
scrot
,xsel
,imagemagick
undtesseract-ocr
sind standardmäßig nicht installiert , sondern sind von der der Standard - Repositorys zur Verfügung.Sie können ersetzen können
scrot
mitgnome-screenshot
, aber es kann eine Menge Arbeit. In Bezug auf die Ausgabe können Sie alles verwenden, was eine Textdatei lesen kann (mit dem Texteditor öffnen, den erkannten Text als Benachrichtigung anzeigen usw.).GUI-Version des Skripts
Hier ist eine einfache grafische Version des OCR-Skripts mit einem Dialogfeld zur Sprachauswahl:
Abgesehen von den oben aufgeführten Abhängigkeiten müssen Sie den Zenity Fork YAD von der webupd8-PPA installieren , damit das Skript funktioniert.
quelle
rm $SCR_IMG.png $SCR_IMG.txt
).scrot
allein kann die Zwischenablage nicht verwenden. Aber es gibt Werkzeuge wiexclip
oderxsel
das kann tun , was Sie brauchen , wenn es sich um Text kopieren / einfügen.| clipboard
am Ende der letzten Zeile von Salems Skript einzufügen.Ich weiß nicht, ob jemand meine Lösung braucht. Hier ist eine, die mit Wayland läuft.
Es zeigt die Zeichenerkennung in einem Texteditor an und wenn Sie den Parameter "yes" hinzufügen, haben Sie die Übersetzung vom goggle trans-Tool erhalten (Internetverbindung ist erforderlich). Bevor Sie es verwenden können, müssen Sie tesseract-ocr imagemagick und google-trans installieren. Starten Sie das Skript zB in Gnome mit Alt + F2, wenn Sie Ihren zu erkennenden Text sehen. Bewegen Sie den Cursor um den Text. Das ist es. Dieses Skript wurde nur für Gnome getestet. Für andere Fenstermanager muss es Platz bieten. Um den Text in andere Sprachen zu übersetzen, ersetzen Sie die Sprach-ID in Zeile 25.
quelle
Ich habe gerade einen gemacht Blog über die Verwendung von Screenshots in der heutigen Zeit gemacht. Obwohl ich auf Chinesisch ziele, ist die Bildschirmdarstellung und der Code in Englisch. OCR ist nur eine der Funktionen.
Feature für meine OCR:
Öffne es in konsole + vimx ODER gedit, um es weiter zu bearbeiten.
Aktivieren Sie für vimx + english die Rechtschreibprüfung.
Unterstützung der dynamischen Sprachauswahl ohne festen Code.
Fortschrittsdialog beim Konvertieren und Tesseracting der langsam ist.
Funktionscode:
Anrufercode:
Kombinieren Sie diesen 2 Code in einem einzelnen Shell-Skript, um ihn auszuführen.
Screenshot 1:
Screenshot 2:
quelle
Die Idee ist, wann immer neue Screenshot-Dateien im Ordner erscheinen, OCR darauf ausführen und in einem Datei-Editor öffnen.
Sie können dieses ausgeführte Skript im Ausgabeverzeichnis Ihres bevorzugten Screenshot-Ausgabeverzeichnisses belassen
Sie benötigen dies, um installiert zu werden
quelle
Zu diesem Zweck habe ich ein kostenloses Open-Source-Programm erstellt:
https://danpla.github.io/dpscreenocr/
quelle