Optische Blindenschrifterkennung mit OpenCVJava

Java-Forum
Guest
 Optische Blindenschrifterkennung mit OpenCV

Post by Guest »

Ich versuche tatsächlich, Braille-Zeichen in einem Dokument zu erkennen. Ich beabsichtige, ein Braille-Dokument in einfachen Text umzuwandeln.
Ich verwende OpenCV mit Java, um die Bildverarbeitung durchzuführen.

Zuerst habe ich ein Bild eines Braille-Dokuments importiert:

Image


Dann habe ich etwas Bildverarbeitung durchgeführt, um das Original zu binarisieren Bild. Ich habe gelesen, dass die wichtigen Schritte sind:
  • Konvertieren Sie das Bild in Graustufen
  • Reduzieren Sie die Rauschen
  • Kantenkontrast verbessern
  • Bild binarisieren
Hier ist der Code, den ich verwendet habe:

Code: Select all

public static void main(String args[]) {

Mat imgGrayscale = new Mat();

Mat image = Imgcodecs.imread("C:/Users/original_braille.jpg", 1);

Imgproc.cvtColor(image, imgGrayscale, Imgproc.COLOR_BGR2GRAY);

Imgproc.GaussianBlur(imgGrayscale, imgGrayscale, new Size(3, 3), 0);
Imgproc.adaptiveThreshold(imgGrayscale, imgGrayscale, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV, 5, 4);

Imgproc.medianBlur(imgGrayscale, imgGrayscale, 3);
Imgproc.threshold(imgGrayscale, imgGrayscale, 0, 255, Imgproc.THRESH_OTSU);

Imgproc.GaussianBlur(imgGrayscale, imgGrayscale, new Size(3, 3), 0);
Imgproc.threshold(imgGrayscale, imgGrayscale, 0, 255, Imgproc.THRESH_OTSU);

Imgcodecs.imwrite( "C:/Users/Jean-Baptiste/Desktop/Reconnaissance_de_formes/result.jpg", imgGrayscale );

}
Ich habe für diesen Schritt das folgende Ergebnis erhalten:

Image


Meiner Meinung nach können wir die Qualität dieses Bildes verbessern, um bessere Ergebnisse zu erzielen, aber ich bin es Ich habe keine Erfahrung mit den verschiedenen Bildverarbeitungstechniken. Kann ich die Qualität meiner Filter verbessern?

Danach möchte ich eine Segmentierung des Bildes durchführen, um die verschiedenen Zeichen dieses Dokuments zu erkennen. Ich möchte die verschiedenen Zeichen des Dokuments trennen, um sie in Text umzuwandeln.

Zum Beispiel habe ich die Trennlinien des Dokuments manuell gezeichnet:

Image


Aber ich habe für diesen Schritt keine Lösungen gefunden. Gibt es eine Möglichkeit, dasselbe mit OpenCV zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post