Entfernen Hintergrundgeräusche aus dem Bild, um text klarer OCR

Ich habe eine Anwendung geschrieben, die Segmente eines Bildes auf der Grundlage der text-Regionen innerhalb es, und extrahiert den Regionen, so wie ich das sehe passen. Was ich versuche zu tun ist, reinigen Sie das Bild so, dass OCR (Tesseract) gibt ein genaues Ergebnis. Ich habe Folgendes Bild als Beispiel:

Entfernen Hintergrundgeräusche aus dem Bild, um text klarer OCR

Läuft das durch tesseract gibt ein weit ungenauen Ergebnis. Jedoch die Reinigung der Bild (mit photoshop), um das Bild wie folgt:

Entfernen Hintergrundgeräusche aus dem Bild, um text klarer OCR

Gibt genau das Ergebnis, das ich erwarten würde. Das erste Bild ist bereits ausgeführt wird, durch die folgende Methode, um es sauber zu diesem Punkt:

 public Mat cleanImage (Mat srcImage) {
    Core.normalize(srcImage, srcImage, 0, 255, Core.NORM_MINMAX);
    Imgproc.threshold(srcImage, srcImage, 0, 255, Imgproc.THRESH_OTSU);
    Imgproc.erode(srcImage, srcImage, new Mat());
    Imgproc.dilate(srcImage, srcImage, new Mat(), new Point(0, 0), 9);
    return srcImage;
}

Was kann ich tun, um sauber das erste Bild so ähnelt es dem zweiten Bild?

Edit: das ist das original Bild, bevor es durch die cleanImage Funktion.

Entfernen Hintergrundgeräusche aus dem Bild, um text klarer OCR

  • Hi, wird sich so schnell wie möglich. Cheers.
  • Ich habe das original-image, bevor es verarbeitet.
  • Wenn man weiß, der text ist immer in etwa in der Mitte des Bildes, den Sie entfernen konnte angeschlossenen Segmente der dunklen Pixel, wo keine pixel in dem segment ist außerhalb einiger Entfernung von den Kanten. Wenn Sie weiß, daß der text immer die gleiche Größe, die Sie entfernen konnte angeschlossenen Segmente dunkler text, der weniger als einige Grenze für die Anzahl der Pixel in Ihnen. Wenn Sie Einklang das Bild irgendwie, und die zahlen sind alle die gleiche Höhe, die Sie könnten versuchen, und berechnen Sie eine Obere Zeile und eine untere Zeile und werfen Ausreißer. Wenn es immer 4 Ziffern, die Sie verwenden konnten zum entfernen von Segmenten größer als 4 auf einige Regel.
  • Sie können filter Rauschen Segmente (angeschlossene Komponenten) in der Nähe von Bildrändern (ich. e. verbunden mit image borders): in Ihnen Probe erforderlich text sind nicht an der Grenze.
  • Ist runitme wichtig, tatsächlich?
InformationsquelleAutor Zy0n | 2015-11-23
Schreibe einen Kommentar