Frage

Kennt jemand eine C ++ Bibliothek zur Aufnahme von Bildern und Durchführen einer Bilderkennung auf sie, so dass sie Buchstaben basierend auf einer bestimmten Schriftart und / oder Schrifthöhe finden kann? Auch eine, die nicht Sie eine Schriftart nicht lassen wählen wäre schön (zB. ReadLetters (Bild Bild)

War es hilfreich?

Lösung

Ich habe mich in dieser viel in letzter Zeit. Ihre beste ist einfach Tesseract. Wenn Sie Layout benötigen Analyse auf dem OCR als mit OCRopus gehen (was wiederum verwendet Tesseract OCR zu tun). Layoutanalyse bezieht sich zu der Möglichkeit, Position von Text auf dem Bild zu erkennen und Dinge zu tun, wie Zeilensegmentierung, Blocksegmentierung, etc.

Ich habe einige wirklich gute Tipps durch Experimentieren mit Tesseract gefunden, die es wert sind. Im Grunde hatte ich für das Bild eine Menge Vorverarbeitung zu tun.

  1. Upsize / verkleinern Sie Ihre Eingangsbild zu 300 dpi.
  2. Entfernen Farbe aus dem Bild. Graustufen ist gut. Ich habe tatsächlich eine Ditherschwellwert und machte meinen Eingang schwarz und weiß.
  3. Unnötiges aus dem Bild ausschneiden. Für alle drei oben habe ich netbpm (eine Reihe von Bildbearbeitungswerkzeuge für Unix) zu Punkt zu kommen, wo ich war ziemlich viel zu 100 Prozent Genauigkeit bekommen für das, was ich brauchte.

Wenn Sie eine sehr individuelle Schriftart und gehen mit tesseract allein Sie müssen „Train“ das System - im Grunde haben Sie eine Reihe von Trainingsdaten zu füttern. Dies wird auch auf der tesseract-ocr-Website dokumentiert. Sie legen im Wesentlichen eine neue „Sprache“ für die Schrift und übergeben Sie es mit dem Parameter -l in.

Der andere Trainingsmechanismus ich fand, war mit OCRopus nueral Netz (bpnet) Training mit. Es erfordert eine Menge von Eingangsdaten ein gutes statistisches Modell zu bauen.

Im Hinblick auf die Tesseract / OCRopus Aufruf beide C ++. Es wird nicht so einfach, wie Readlines (Bild) sein, aber es ist ein API Sie heraus überprüfen können. Sie können auch über die Kommandozeile aufrufen.

Andere Tipps

Während ich nicht ein besonders empfehlen kann, der Begriff Sie suchen, ist OCR (Optical Character Recognition).

Es gibt tesseract-ocr , die eine professionelle Bibliothek ist, dies zu tun.

Von dort Website

  

Die Tesseract OCR-Engine war einer der Top-3-Motoren in 1995 UNLV Genauigkeitsprüfung. Zwischen 1995 und 2006 hatte es wenig Arbeit daran getan, aber es ist wahrscheinlich eines der genauesten Open-Source-OCR-Engines verfügbar

Ich denke, was Sie wollen, ist Conjecture . Verwendet das libgocr Projekt. Ich habe es nicht für ein paar Jahre verwendet, aber es ist früher sehr zuverlässig sein, wenn Sie eine Taste einrichten.

Die Tesseract OCR-Bibliothek ziemlich genaue Ergebnisse liefert, es ist ein C und C ++ Bibliothek. Meine ersten Ergebnisse waren rund 80% korrekt, aber die Anwendung Vorbearbeitung auf die Bilder, bevor sie für OCR Versorgung in die Ergebnisse waren rund 95% genau. Was ist Pre-Vorverarbeitung:

1) Binarisieren der Bitmap (B & W war für mich besser). Wie es

getan werden könnte

2) Resampling Ihr Bild 300 dpi

3) Speichern Sie Ihr Bild in einem verlustfreien Format, wie LZW-TIFF oder CCITT Gruppe 4 TIFF.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top