Frosch

Frosch

Wie kann ich Text aus Bildern extrahieren?

Ich spreche nicht von gescannten Dateien, sondern von ganz gewöhnlichen Bildern, beispielsweise wenn Sie im Unterricht ein hochauflösendes Foto von einer Tafel machen, das schön handschriftlich beschrieben ist; oder wenn Sie eine Seite aus einem Kochbuch fotografieren und das Rezept im Textformat haben möchten.

Gibt es dafür kostenlose und offene Software?

Ich habe Tesseract ausprobiert und die Ergebnisse waren schrecklich.

Antwort1

tesseract-ocrwäre im Vergleich zu allen anderen das Beste. Führen Sie zur Installation den folgenden Befehl aus

sudo apt-get install tesseract-ocr

Die Verwendung ist tesseract filename.jpg output.txt, dann wird output.txteine Datei generiert.

Sie sollten die entsprechende Sprache auswählen. In diesem Fall müssen Sie tesseract-ocr-LANGdas Paket installieren, wobei LANGsich die dreistelligeISO 639-2 Sprachcode. Derzeit haben Sie 123 Sprachen im 18.04-Repo.Dann benutzeZum Beispiel:

tesseract mySpanishText.jpg output -l spa

Antwort2

Der Vorgang des Extrahierens von Text aus Bildern wird genannt OCRund Ubuntu hat eine Wiki-Seite, die sich mitOCR. Von dieser Seite:

Verfügbare OCR-Tools

Die Ubuntu Universe-Repositories enthalten die folgenden OCR-Tools:

  1. gocr- Eine Befehlszeilen-OCR
  2. Abonnieren- Spamassassin-Plugin zum Überprüfen von Bildanhängen
  3. libhocr0- Hebräische OCR
  4. Abonnieren- Programm zur optischen Zeichenerkennung
  5. Abonnieren- Dokumentlayoutanalyse und optisches Zeichenerkennungssystem
  6. Oktopus- Dokumentenanalyse und OCR-System
  7. Tesseract-OCR

Die Ubuntu-Multiverse-Repositorys enthalten außerdem:

  1. Keilschrift- mehrsprachiges OCR-System

Einige Pakete sind veraltet, aber inoffizielle neue finden Sie inAlex_P PPA(PPA-Hinzufügungscode: ppa:alex-p/notesalexp). Wenn Sie noch nie ein PPA verwendet haben, überprüfen SieSo fügen Sie Software aus einem PPA hinzu.

bearbeiten: Wie im Kommentar gezeigtClara OCRexistiert auch, ist aber bei Hardy hängen geblieben und deren Website hat das Jahr 2009 als letztes Update.

Antwort3

Frosch

VersuchenFrosch. Frog ist ein intuitives Textextraktionstool (OCR) für GNOME.

Bildschirmfoto

Hol es dir im Snap StoreAuf Flathub herunterladen

Antwort4

Mit tesseract-ocrkönnen wir extrahierenTextausBilder. Ich habe getestet gocr, was nicht gut funktioniert hat im Vergleich zutesseract-ocr

Installation:

sudo apt-get install tesseract-ocr

PythonProgramm zum Konvertieren aller Bilddateien mitpngErweiterung im aktuellen Verzeichnis zutxtDatei

#!/usr/bin/env python3.10
import os
import subprocess

def list_files(path):
    files = []
    for name in os.listdir(path):
        if os.path.isfile(os.path.join(path, name)):
            files.append(os.path.join(path, name))
    return files

def convertImageToText(img_file):
    #process = subprocess.Popen(['tesseract', img_file,
    #    ''.join(img_file.rsplit('.png', 1))])
    os.system(f"tesseract {img_file} {''.join(img_file.rsplit('.png', 1))}")


def startOperation():
    list_file = list_files(".")
    print(list_file)
    for img_file in list_file:
        if img_file.lower().split(".")[-1] == "png":
            convertImageToText(img_file)

startOperation()

verwandte Informationen