Ich arbeite an iPhone-Anwendung, die ISBN-Nummern erkennt (ISBN: 978-83-7380-900-0) Ich benutze Tesseract für diese, aber es funktioniert nicht sehr gut. Ich kann andere Anwendungen sehen und dieselbe Engine verwenden, um besser zu arbeiten.Wie Ergebnisse von Tesseract verbessert werden, um Zahlen zu erkennen
um die Zeichen zu begrenzen verwende ich diese Konfig-Zeile: tess-> SetVariable ("tstedit_char_whitelist", "SN:X-"); Also werden alle "I" in "1" und "B" in 8 umgewandelt. Damit mache ich keinen Fehler mit diesen Buchstaben, die mir nicht wichtig sind. Danach verwende ich regulären Ausdruck, um den korrekten Teil des erkannten Textes zu finden.
Ich zerschneide auch das Bild, so tesseract erkennt nur einen Teil des Bildes, wo isbn sichtbar ist (ich habe die Farbe rect auf der Kameraüberlagerung platziert, so muss der Benutzer den Code an der richtigen Stelle platzieren) Ich skaliere auch das Bild auf 1000px Breite (auch andere Größen)
Es funktioniert ganz gut, wenn das Licht ausgezeichnet ist, aber es ist wirklich schwer zu erkennen, wenn die Beleuchtung nicht perfekt ist.
Die letzte Ziffer der Isbn-Nummer ist eine Kontrollsumme.
Was kann ich tun, damit es besser funktioniert? Gibt es eine Möglichkeit zu sagen, dass testerect Text nur in einem bestimmten regulären Ausdruck erkennt? Vielleicht sollte ich zuerst etwas mit Bild machen?
Beispielbilder, die nicht korrekt erkannt werden:
http://img412.imageshack.us/i/img0367si.jpg/
http://img264.imageshack.us/i/img0361d.jpg/