Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Pytesseract so konfigurieren, dass es nur einzelne Ziffern erkennt?

Wie kann ich Pytesseract so konfigurieren, dass es nur einzelne Ziffern erkennt?

Susan Sarandon
Freigeben: 2024-12-01 10:33:13
Original
204 Leute haben es durchsucht

How Can I Configure Pytesseract to Recognize Only Single Digits?

Mehrere Konfigurationsoptionen für Pytesseract OCR

Pytesseract ist ein leistungsstarkes OCR-Tool, das häufig zum Extrahieren von Text aus Bildern verwendet wird. Bei der Erkennung bestimmter Zeichensätze kann es jedoch zu Herausforderungen kommen. Um diese Einschränkungen zu überwinden, greifen Benutzer oft darauf zurück, Tesseract mit benutzerdefinierten Parametern zu konfigurieren.

Ein häufiges Szenario besteht darin, Tesseract so zu konfigurieren, dass es einzelne Ziffern akzeptiert und andere Zeichen ausschließt. Dies ist wichtig, wenn zwischen der Zahl Null und dem Buchstaben „O“ unterschieden werden soll, die in manchen Fällen identisch erscheinen können. Um dies zu erreichen, bietet Tesseract mehrere Konfigurationsoptionen, die entsprechend angepasst werden können.

Verwendung von psm- und tessedit_char_whitelist-Parametern

Mit der Veröffentlichung von Tesseract 4.0.0a erhalten Benutzer Zugriff zu einem größeren Bereich von Seitensegmentierungsmodi (PSM-Werten). In Szenarien, in denen die Erkennung einzelner Zeichen das Hauptziel ist, erweist sich die Einstellung von psm auf 10 als effektiv. Dieser Parameter weist Tesseract an, das Bild als einzelnes Zeichen zu behandeln.

Um die Erkennung von Tesseract nur auf Zahlen zu beschränken, können Benutzer außerdem den Parameter tessedit_char_whitelist verwenden. Durch Angabe einer Zeichen-Whitelist wie 0123456789 erkennt Tesseract ausschließlich Zeichen innerhalb dieser Whitelist.

Beispielverwendung

Der folgende Code zeigt, wie psm und tessedit_char_whitelist kombiniert werden Parameter im praktischen Einsatz:

import pytesseract

target = pytesseract.image_to_string(image, lang='eng', boxes=False, \
        config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')
Nach dem Login kopieren

In In diesem Beispiel stellt die Variable image das zu verarbeitende Eingabebild dar und lang='eng' gibt an, dass der Text auf Englisch ist. Durch die Einstellung „boxes=False“ gibt die Funktion keine Begrenzungsrahmen für erkannte Zeichen aus.

Der Parameter --psm 10 stellt sicher, dass die Einzelzeichenerkennung verwendet wird, während der Parameter --oem 3 die Standard-OCR-Engine auswählt. Schließlich beschränkt der Parameter -c tessedit_char_whitelist=0123456789 die Erkennung nur auf Zahlen.

Durch das Verständnis und die Nutzung dieser vielfältigen Konfigurationsoptionen können Benutzer das Verhalten von Pytesseract effektiv an ihre spezifischen OCR-Anforderungen anpassen und so eine genaue und präzise Textextraktion ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich Pytesseract so konfigurieren, dass es nur einzelne Ziffern erkennt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage