Zeichenerkennung (OCR-Algorithmus)
Arbeite ich an einem Projekt, in dem ich zu entwickeln, OCR-Algorithmus ( ich habe den text zu Lesen von Bild und konvertieren Sie Sie dann in andere Sprache ).Also meine erste Aufgabe ist es, text aus Bild.
Schritten bis zur ersten Aufgabe.
- Laden alle Bildformate (bmp, jpg, png) aus gegebenen Quelle. Dann konvertieren Sie das Bild in Graustufen und beispielsweise binarisieren es mit dem Schwellenwert (Otsu-Algorithmus). //abgeschlossen(so entfernen Sie Rauschen aus Ausgabe Bild???)
Ergebnisse
-
Erkennung von image-Eigenschaften wie Auflösung und inversion. Damit können wir schließlich die Umrechnung auf eine begradigte Bild für die weitere Verarbeitung. (abgeschlossen den code der Drehung des Bildes, aber nicht in der Lage zu erkennen Bildwinkel über, die wir haben, um das Bild zu drehen,Also noch auf Arbeit-Winkel-Erkennung Teil)
-
Linien-Erkennung und-Beseitigung. Dieser Schritt ist erforderlich, um die Seite layout-Analyse, um eine bessere Qualität der Erkennung ist für unterstrichenen text, um zu erkennen, Tabellen, usw. ein.(Beschlossen Komplett-Teil am Ende)
-
Seite-layout-Analyse. In diesem Schritt versuche ich, den text identifiziert Zonen im Bild vorhanden. So, dass nur der Teil verwendet wird, für die Anerkennung und den rest der region ausgelassen wird.
-
Erkennung von text, Linien und Wörter. Hier müssen wir auch aufpassen, verschiedenen Schriftgrößen und kleine Räume zwischen den Wörtern.
-
Anerkennung von Zeichen. Dies ist der wichtigste Algorithmus der OCR; ein Bild von jedem Charakter konvertiert werden müssen, um die entsprechenden Zeichen-code. Manchmal wird dieser Algorithmus erzeugt verschiedene Charakter-codes für ungewisse Bilder. Zum Beispiel, die Anerkennung des Bildes der "ich" - Charakter erzeugen kann "ich", "|" "1", "l" - codes und das endgültige Zeichen-code ausgewählt wird später.
-
Speichern der Ergebnisse zu ausgewählten Ausgabeformat, zum Beispiel durchsuchbares PDF, DOC, RTF, TXT. Es ist wichtig, bewahren Sie die original-Seiten-layout: Spalten, Schriftarten, Farben, Bilder, hintergrund und so weiter.
So, ich benötige Hilfe bei der part6.Ich habe abgeschlossen, line-detection-Teil (get-n-Bilder aus einem Absatz mit n Zeilen) aber stecken in nächsten Teil bekommen, Wörter und Zeichen recognisation.Wenn Sie wissen, gute links zu OCR und Charakter recognisation Teil dann bitte Hier posten.
Charakter recognisation ich bin am überlegen zu verwenden asprise(Java-Bibliothek) http://asprise.com/product/ocr/index.php?lang=java
InformationsquelleAutor der Frage TLE | 2013-03-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu erkennen, die Drehwinkelverwenden Sie die Hough-transformation.
Für Rauschunterdrückungersetzen jedes pixel, dass nicht ein Nachbar (Norden, Osten, Süden oder Westen) mit der gleichen Farbe (eine ähnliche Farbe, mit einer Toleranz-Schwelle), mit dem Durchschnitt der Nachbarn.
Suche für vertikale weiße Lücken für layout-Erkennung. Scheibe entlang der vertikalen Lücke. Für jedes Segment, suchen Sie nun die horizontalen Lücken, und in Scheiben schneiden. Wenn die Scheiben haben die gleiche (eine ähnliche) die Höhe, Sie sind auf line-Pegel. Andernfalls wiederholen Sie die vertikale/horizontale aufschneiden, bis Sie nur noch Linien übrig. Der Letzte Schritt ist dann wieder eine vertikale schneiden, geben Sie die einzelnen Zeichen (oder Ligaturen in einigen Fällen). Lang und schmal oder kurz und breit Scheiben sind Linien.
Vergleichen Sie die Charakter-Scheiben mit einem Charakter der Bibliothek. Wenn die Leistung ist nicht das wichtigste Problem, versuchen Sie, die Zeichen suchen, die in verschiedenen Schrift-Bibliotheken, bis Sie identifizieren können die schriftart, die verwendet wird. Dann stick mit, die schriftart für character recognition.
In der original-Bild, ersetzen Sie jedes Zeichen mit der Hintergrundfarbe, die bestimmt ist durch die Interpolation von Pixeln, die nicht Teil der Zeichen für jedes pixel des Charakters. Dies gibt Ihnen die hintergrund Bildwenn überhaupt.
InformationsquelleAutor der Antwort nibra
Sollten Sie die Verwendung der Adaptiven Schwellwertes statt Otsu-Methode.. ich denke, es wird hilfreich sein, http://www.csse.uwa.edu.au/~shafait/papers/Shafait-effizient-Binarisierung-SPIE08.pdf
Diese Methode wird automatisch das Rauschen entfernen.
InformationsquelleAutor der Antwort Stupi
Möchten Sie vielleicht zu schauen, um Tesseract für die Zeichenerkennung Teil.
InformationsquelleAutor der Antwort Engineero
Können Sie potrace, eine um den Lärm zu reduzieren
Es vectorises das Bild(bmp) und konvertieren Sie es in svg, pdf und einigen anderen Formaten
http://potrace.sourceforge.net/potrace.html
InformationsquelleAutor der Antwort Magesh Vs