it-swarm.com.de

Wie kann ich OCR für eine teilweise Bildschirmaufnahme verwenden, um Text abzurufen?

Als ich noch Windows benutzte, benutzte ich am liebsten das OCR-Programm capture2text , um japanische Kanji aus Manga zu holen und in jisho.org abzulegen, und fragte mich, wie ich die gleiche Funktionalität auf Ubuntu erhalten könnte. Nämlich:

  1. Machen Sie einen Teil-Screenshot, wenn Sie einen bestimmten Hotkey drücken (klicken und ziehen).
  2. Verarbeiten Sie das Bild über eine OCR-Engine.
  3. Das Ergebnis in die Zwischenablage ausgeben.
3
TakingItCasual

Basierend auf dieses Drehbuch (das 2.) habe ich das Drehbuch auf das Folgende reduziert:

#!/bin/bash 
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip

SCR="/home/takingitcasual/Documents/Translate/temp"

gnome-screenshot -a -f $SCR.png

mogrify -modulate 100,0 -resize 400% $SCR.png 
#should increase detection rate

tesseract $SCR.png $SCR -psm 10 -l jpn
cat $SCR.txt | xclip -selection clipboard
#you can only scan one character at a time

exit

Einige Ziele, die ich mit der geänderten Datei hatte:

  1. Entfernen der Notwendigkeit für Sudo (um eine einfache Hotkey-Bindung zu ermöglichen)
  2. Scrot ersetzen (die Art und Weise, wie der Gnome-Screenshot funktioniert, sieht meiner Meinung nach viel besser aus)
  3. Vereinfachen Sie das Skript auf etwas, das ich leichter verstehen kann (Entfernen von temporären Dateien)
  4. Beschränken Sie die Erkennung auf jeweils ein Zeichen. (Erkennung war miserabel ohne "-psm 10", und Tesseract warf auch weiterhin "leere Seiten" -Fehler aus)

Weitere zwei Dinge, die ich tat, waren:

chmod a+x /home/takingitcasual/Documents/Translate/

und Festlegen der Berechtigungen für temporäre Dateien zum Lesen/Schreiben für alle. Ich bin mir nicht sicher, ob es überflüssig war, beides zu tun.

Das Letzte war, das Bash-Kommando zu geben

bash /home/takingitcasual/Documents/Translate/screen_ts.sh

eine Verknüpfung über this .

Wenn jemand Vorschläge zur Änderung des Skripts oder sonst etwas hat, würde ich es gerne hören. (Ich habe keine Erfahrung mit Skripten, daher bin ich sicher, dass es verbessert werden kann.)

3
TakingItCasual