Frage Wie wähle ich zwischen Tesseract und OpenCV?


Ich bin kürzlich gestolpert Tesserakt und OpenCV. Es sieht so aus, als wäre Tesseract eine vollwertige OCR-Engine und OpenCV kann als Framework zum Erstellen einer OCR-Anwendung / eines OCR-Dienstes verwendet werden.

Ich habe versucht, Tesseract auf einigen meiner Bilder zu verwenden und seine Genauigkeit scheint anständig zu sein. Später stieß ich auf ein sehr einfaches Anleitung bei der Verwendung von OpenCV zum Ausführen von OCR mit Python und war beeindruckt. In ein paar Minuten beendete ich das System und seine Genauigkeit war gut. Aber natürlich muss ich bei diesem Ansatz mein System ausgiebig mit einem großen Trainingsprogramm trainieren.

Meine spezifischen Fragen sind die folgenden:

  • Wie wählt man zwischen Tesseract und OpenCV, um eine benutzerdefinierte OCR-App zu erstellen?
  • Es gibt Trainingsdatensätze für Tesseract für verschiedene Sprachen. Hat OpenCV etwas Ähnliches, so dass ich nicht erst anfangen muss, OCR zu erreichen?
  • Welches ist besser für eine kommerzielle Anwendung?

Irgendwelche Vorschläge?

Hinweis: Ich bin 24 Stunden alt im Bereich Computer Vision, bin aber bereit Zeit und Mühe zu investieren, um die Voraussetzungen zu lernen.


76
2017-07-15 06:07


Ursprung


Antworten:


  • Tesseract ist eine OCR-Engine. Es wird von Google verwendet, bearbeitet und finanziert, insbesondere um Text aus Bildern zu lesen, eine grundlegende Dokumentensegmentierung durchzuführen und bestimmte Bildeingaben auszuführen (ein einzelnes Wort, eine Zeile, einen Absatz, eine Seite, begrenzte Wörterbücher usw.).

  • OpenCV hingegen ist eine Computer-Vision-Bibliothek, die Funktionen zur Feature-Extrahierung und Datenklassifizierung enthält. Sie können einen einfachen Buchstabensegmentierer und Klassifizierer erstellen, der grundlegende OCR ausführt, aber es ist keine sehr gute OCR-Engine (ich habe eine in Python vorher von Grund auf erstellt. Es ist wirklich ungenau für Eingaben, die von Ihren Trainingsdaten abweichen).

Wenn Sie ein grundlegendes Verständnis dafür bekommen möchten, wie schwer OCR ist, versuchen Sie OpenCV. Tesseract ist für echt OCR.


65
2017-07-15 06:12



Ich bin der Autor dieses Tutorials zur Ziffernerkennung, das Sie erwähnt haben, und Ich würde sagen, das ist kein Ersatz für Tesseract.

Tesseract ist eine wirklich gute OCR-Engine, möglicherweise die beste OpenSource-OCR-Engine.

Das Tutorial, das Sie erwähnten, ist nur ein Versuch, das einfachste Arbeiten von OCR zu verstehen.

Wenn Sie also nach einer OCR-App suchen, würde ich Ihnen empfehlen, OpenCV zur Vorverarbeitung des Bildes zu verwenden und dann tse- ract engine anzuwenden.


60
2017-07-15 06:21



Die zwei können sich ergänzen. Wenn Sie das Papier auf OpenCV lesen http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseracticdar2007.pdf

"Da HP eine unabhängig entwickelte Seitenlayout-Analysetechnologie hatte, die in Produkten verwendet wurde (und daher nicht für Open-Source veröffentlicht wurde), benötigte Tesseract nie eine eigene Seitenlayoutanalyse. Tesseract nimmt daher an, dass seine Eingabe ein Binärbild mit ist optionale polygonale Textbereiche definiert. "

Diese Art von Aufgabe kann von OpenCV ausgeführt und das resultierende Bild an Tesseract übergeben werden. Sie können ein Beispiel dieser Art von Code im Git Repo finden: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples Die Beispiele verwenden Tesseract-APIs für die Konvertierung von Bild zu Text.


7
2017-11-13 01:50



OpenCV ist eine Bibliothek für Lebenslauf, verwendet, um Bilder im Allgemeinen zu analysieren und zu verarbeiten. Tesseract ist eine Bibliothek für OCRDies ist eine spezielle Teilmenge von CV, die zum Extrahieren von Text aus Bildern gewidmet ist.

Von OpenCV.org

... verwendet, um Gesichter zu erkennen und zu erkennen, Objekte zu identifizieren, menschliche Handlungen in Videos zu klassifizieren, Kamerafahrten zu verfolgen, sich bewegende Objekte zu verfolgen, 3D-Modelle von Objekten zu extrahieren, 3D-Punktwolken von Stereokameras zu erzeugen, Bilder zu verschmelzen Bild einer ganzen Szene auflösen, ähnliche Bilder aus einer Bilddatenbank finden, rote Augen aus Bildern entfernen, die mit Blitz aufgenommen wurden, Augenbewegungen folgen, Landschaften erkennen und Marker setzen, um sie mit Augmented Reality zu überlagern usw

Von Tesseract Github:

..... kann direkt oder (für Programmierer) mit einer API verwendet werden, um getippten, handschriftlichen oder gedruckten Text aus Bildern zu extrahieren. Es unterstützt eine Vielzahl von Sprachen.


0
2017-09-26 03:25