2017-05-08 4 views
0

Ich benutze Tesseract (tess-two) -Bibliothek in meiner Android-Anwendung für Echtzeit-Texterkennung. Mein Code:Tesseracts Ausgabe ist komplett falsch und Kauderwelsch

public void onPreviewFrame(byte[] data, Camera camera) { 
    try { 
    Camera.Size previewSize =camera.getParameters().getPreviewSize(); 
    YuvImage yuvimage=new YuvImage(data, ImageFormat.NV21, previewSize.width, previewSize.height, null); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    yuvimage.compressToJpeg(new Rect(0, 0, previewSize.width, previewSize.height), 60, baos); 
    byte[] jdata = baos.toByteArray(); 

    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inSampleSize = 4; 
    Bitmap bmp = BitmapFactory.decodeByteArray(jdata, 0, jdata.length); 

    TessBaseAPI baseApi = new TessBaseAPI(); 
    baseAPI.init(DATA_PATH, lang);  
    baseAPI.setImage(bmp); 
    extractedText = baseAPI.getUTF8Text(); 
    DisplayResult.setText(extractedText); 
    } 
    catch(Exception e) { 
    e.printStackTrace(); 
    } 

ich kein Problem in Tesseract Initialisation haben sowie die Einstellung Bild. Aber die Ausgabe ist völlig falsch, schau dir das Bild an. Die Textansicht zeigt die Tesseract-Ausgabe (über der Oberflächenansicht) an.

Wie löse ich dieses Problem?

+1

Willkommen bei Tesseract! ;) Es ist so, um ehrlich zu sein. Sie können versuchen, das Bild zu bearbeiten und die Qualität anzupassen, versuchen, schwarz auf weiß, versuchen Sie jeden PSM-Modus, etc. Wenn ich das Bild zuschneiden, das Sie nur den Text zur Verfügung gestellt, bekomme ich den Text "Made in China" perfekt, aber die gesamtes Bild Tesseract kann einfach nicht verwalten. [Weitere Tipps finden Sie hier] (https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality), aber halten Sie nicht den Atem an, es sei denn, Sie können das Bild zuschneiden. – samiles

+0

Sie müssen das Bild vorverarbeiten, um die ungleichmäßige Beleuchtung zu reduzieren. – rmtheis

Antwort

1

ein paar Dinge, die mit der Optimierung Ihrer Ausgabe helfen können:

  • das Bild auf den gewünschten Textbereich beschneiden, bevor die Ausgabe
  • Verarbeitung
  • ausschließen Interpunktion und andere Zeichen aus dem Textverarbeitungs
Verwandte Themen