Bitte verwenden Sie das Vision Framework von Apple anstelle von Swiftocr. Es ist sehr schnell, genau und viel weniger pingelig.
Swiftocr ist eine schnelle und einfache OCR -Bibliothek in Swift. Es verwendet ein neuronales Netzwerk zur Bilderkennung. Swiftocal ist ab sofort optimiert, um kurze alphanumerische Zeilencodes (z. B. DI4C9CM) zu erkennen. Wir unterstützen derzeit iOS und OS X.
Dies ist eine wirklich gute Frage.
Wenn Sie einen normalen Text wie ein Gedicht oder einen Nachrichtenartikel erkennen möchten, gehen Sie mit Tesseract. Wenn Sie jedoch kurze, alphanumerische Codes (z. B. Geschenkkarten) erkennen möchten, würde ich Ihnen raten, Swiftocr zu wählen, da es dort übertrifft.
Tesseract ist in C ++ - und über 30 Jahre alt. Um es zu verwenden, müssen Sie zuerst einen Objektiv-C ++-Wrapper dafür schreiben. Das Hauptproblem, das Tesseract verlangsamt, ist die Art und Weise, wie Speicher verwaltet wird. Zu viele Speicherzuweisungen und Veröffentlichungen verlangsamen es.
Ich habe einige Tests an über 50 schwierigen Bildern durchgeführt, die alphanumerische Codes enthalten. Die Ergebnisse, wo erstaunlich. Swiftocal besiegte Tesseract in jeder Kategorie.
| Swiftocr | Tesseract | |
|---|---|---|
| Geschwindigkeit | 0,08 Sek. | 0,63 Sek. |
| Genauigkeit | 97,7% | 45,2% |
| CPU | ~ 30% | ~ 90% |
| Erinnerung | 45 MB | 73 MB |
Swiftocr ist über Cocoapods erhältlich. Um es zu installieren, fügen Sie einfach die folgende Zeile zu Ihrem Podfile hinzu:
pod 'SwiftOCR'
Wenn Sie jemals Tesseract verwendet haben, wissen Sie, wie erschöpfend es sein kann, OCR in Ihr Projekt zu implementieren. Swiftocr ist genau das Gegenteil von Tesseract. Es kann mit nur 6 Codezeilen implementiert werden.
import SwiftOCR
let swiftOCRInstance = SwiftOCR ( )
swiftOCRInstance . recognize ( myImage ) { recognizedString in
print ( recognizedString )
} Um Ihre Erfahrungen mit Swiftocal zu verbessern, sollten Sie Ihre Build -Konfiguration auf Release einstellen.
Das Training von Swiftocr ist ziemlich einfach. Es gibt nur wenige Schritte, die Sie ausführen müssen, bevor es eine neue Schriftart erkennen kann.
Der einfachste Weg, Swiftocal zu trainieren, besteht darin, die Trainings -App zu verwenden, die unter /example/OS X/SwiftOCR Training gefunden werden kann. Wählen Sie zunächst die Schriftarten aus, die Sie aus der Liste trainieren möchten. Danach können Sie die Zeichen ändern, die Sie im Textfeld trainieren möchten. Schließlich müssen Sie die Start Testing -Taste drücken. Das einzige, was jetzt übrig bleibt, wartet. Abhängig von Ihren Einstellungen kann dies zwischen einer halben und zwei Minuten dauern. Nach ungefähr zwei Minuten können Sie das Training manuell stoppen. Wenn Sie die Taste Save , speichern Sie das geschultes Netzwerk auf Ihrem Desktop. Der Test wird zur Bewertung der Genauigkeit des geschulten neuronalen Netzwerks verwendet.
Hier ist ein Beispielbild. Swiftocr hat kein Problem damit, es zu erkennen. Wenn Sie versuchen, dasselbe Bild mit Tesseract zu erkennen, ist die Ausgabe 'Labmensw'?!?!?.

Dieses Bild ist aus zwei Gründen schwer zu erkennen:
The code in this repository is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Hinweis : Diese Software hängt von anderen Paketen ab, die unter verschiedenen Open -Source -Lizenzen lizenziert werden können.