Extrahieren Sie mit Python Text aus Bildern

Überblick

Lesen Sie Bilddaten mit Python und konvertieren Sie sie mit OCR in Textdaten.

Umgebung

Python In diesem Artikel wurde Python 2.7 verwendet.

Tesseract-ocr Es ist eine OCR-Engine. Tesseract-ocr Ich habe 3.0.4 verwendet. Wenn Sie unter MacOS X installieren möchten, lesen Sie auch Installieren von Tesseract-OCR-Trainingstools unter MacOS X.

pyocr Ein Wrapper zur Verwendung der OCR-Engine von Python. Es gibt viele ähnliche Wrapper, nach denen man suchen muss, aber ich habe einige ausprobiert und den ausgewählt, für den es einfach zu sein scheint, Code zu schreiben. Das Repository ist hier.

$ pip install pyocr

PIL Eine Bibliothek zum Behandeln von Bildern in Python. Ich habe Pillow installiert und verwendet.

$ pip install pillow

Codebeispiel

Der Code, der den Text aus dem Bild liest und basierend auf dem Beispielcode ausgibt, ist wie folgt.

pyocr_sample.py


from PIL import Image
import sys
import pyocr
import pyocr.builders

tools = pyocr.get_available_tools()
if len(tools) == 0:
    print("No OCR tool found")
    sys.exit(1)
# The tools are returned in the recommended order of usage
tool = tools[0]

txt = tool.image_to_string(
    Image.open('sample.png'),
    lang="jpn+eng",
    builder=pyocr.builders.TextBuilder(tesseract_layout=6)
)
print txt

Der Teil von tesseract_layout = 6 ist nicht im Dokument geschrieben, entspricht jedoch der Option -psm 6 des Befehls von tesseract. Es ist eine Option anzunehmen, welche Art von Layout analysiert werden soll. Durch die Auswahl des richtigen wird die Genauigkeit der Kistenextraktion erheblich verbessert. Der Standardwert ist "-psm 3", der automatisch ermittelt wird. Es ist jedoch besser, ihn nach Möglichkeit anzugeben.

Wenn die von tesseract-ocr verteilten Sprachdaten so verwendet werden, wie sie sind, ist das Ergebnis auf einer Ebene schrecklich, die mich fragen lässt, ob sie richtig gelesen werden können. Wenn Sie jedoch ordnungsgemäß trainierte Sprachdaten verwenden, verbessert sich die Genauigkeit entsprechend.

Recommended Posts

Extrahieren Sie mit Python Text aus Bildern
Extrahieren Sie mit Python Zeichenfolgen aus Dateien
Laden Sie Bilder von der URL-Liste in Python herunter
Lesen von Zeichen in Bildern mit Python OCR
[Python] (Linie) Extrahieren Sie Werte aus Diagrammbildern
Laden Sie Bilder von der URL mit Pillow in Python 3
UTF8-Textverarbeitung mit Python
Base64-Codierung von Bildern in Python 3
OCR aus PDF in Python
Sprechen mit Python [Text zu Sprache]
Extrahieren Sie mehrere Listenduplikate in Python
Zahlenerkennung in Bildern mit Python
Ich habe versucht, mit Python Modebilder und Textsätze zu [kratzen].
Bildpixel-Manipulation in Python
GOTO in Python mit erhabenem Text 3
So sammeln Sie Bilder in Python
Generieren mehrsprachiger Textbilder mit Python
[Python] Extrahieren Sie Textdaten aus XML-Daten von 10 GB oder mehr.
Sortieren Sie große Textdateien in Python
Poste ein Bild von Python auf Tumblr
Lesen und Schreiben von Text in Python
Arbeiten mit DICOM-Bildern in Python
Extrahieren Sie Text aus [python] pdf und lesen Sie Zeichen mit Open-Jtalk vor
Wenden Sie verschiedene Formen von Mosaiken auf Bilder an (Python, OpenCV).
Wiederbelebt von "kein Internetzugang" in Python
Verhindern Sie den doppelten Start von cron in Python
# 5 [python3] Extrahiert Zeichen aus einer Zeichenfolge
Extrahieren Sie japanischen Text aus PDF mit PDFMiner
So extrahieren Sie einen Polygonbereich in Python
Holen Sie sich den Batteriestand von SwitchBot mit Python
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
Generieren Sie mit Python eine C-Sprache aus dem S-Ausdruck
Versuchen Sie, Ihr Tagebuch mit Python zu durchsuchen
In Python von Markdown in HTML konvertieren
Holen Sie sich mit Python die Niederschlagswahrscheinlichkeit aus XML
Entfernen Sie DICOM-Bilder in Python
Abrufen des Metrikverlaufs von MLflow in Python
Quadtree in Python --2
Python in der Optimierung
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Lesen aus Textdateien und SQLite mit Python (+ Pandas), R, Julia (+ DataFrames)
Extrahieren Sie mit Python Zeilen, die den Bedingungen entsprechen, aus einer Textdatei
Epoche in Python
Zwietracht in Python
Deutsch in Python
SQL zu SQL
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Extrahieren Sie alle n Elemente aus einem Array (einer Liste) in Python und Ruby
Konstante in Python
MeCab von Python