2016-04-28 10 views
5

Ich entwickle OCR-System auf JavaCV basiert.Wie konvertiert man IplImage zu lept.PIX

Ich verwende folgende Bibliotheken für mein Projekt:

In einem Fall brauche ich einen Teil eines Bildes zu finden und Buchstaben darauf zu erkennen.

Ich speichere einen Teil eines Bildes im IplImage-Typ.

Aber für Tesseract muss ich PIX-Format verwenden.

Wie kann ich IplImage in Pix konvertieren?

+0

http://stackoverflow.com/a/8126992/2836621 –

+0

Gibt es ein Design-Problem, das Sie aus der Lektüre das Bild direkt als PIX verhindert? –

+0

@Goodbytes, der Autor der Frage hat einen Hack gefunden. https://github.com/bytedeco/javacpp-presets/issues/224 –

Antwort

1
IplImage prepareImg = ... 
cvSaveImage("test.jpg", prepareImg);    
PIX pixImage = pixRead("/test.jpg"); 

--- Quelle: Same Github issues Wie durch einen Kommentar von rajind ruparathna erwähnt

3

den Hack als eine Lösung durch den Autor der Frage gefunden Posting. Es kann auch here gefunden werden.

IplImage prepareImg = ... 
cvSaveImage("plate.jpg", prepareImg);    
PIX pixImage = pixRead("/plate.jpg"); 

Und von diesem question, können Sie IplImage konvertieren wie folgt BufferedImage.

public static BufferedImage toBufferedImage(IplImage src) { 
    OpenCVFrameConverter.ToIplImage iplConverter = new OpenCVFrameConverter.ToIplImage(); 
    Java2DFrameConverter bimConverter = new Java2DFrameConverter(); 
    Frame frame = iplConverter.convert(src); 
    BufferedImage img = bimConverter. convert(frame); 
    BufferedImage result = (BufferedImage)img.getScaledInstance(
     img.getWidth(), img.getHeight(), java.awt.Image.SCALE_DEFAULT); 
    img.flush(); 
    return result; 
} 
Verwandte Themen