2016-04-28 12 views
5

JavaCVに基づいてOCRシステムを開発します。IplImageをlept.PIXに変換するには

私は私のプロジェクトのために、次のライブラリを使用:1の場合

私は、画像の一部を発見し、その上に文字を認識する必要があります。

イメージの一部をIplImageタイプで保存します。

しかし、TesseractではPIX形式を使用する必要があります。

IplImageをPixに変換するにはどうすればよいですか?

+0

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

+0

イメージを直接PIXとして読み取ることができないような設計上の問題はありますか? –

+0

@goodbytes、質問の著者はハックを見つけました。 https://github.com/bytedeco/javacpp-presets/issues/224 –

答えて

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

---出典:Same Github issues

3

は質問の作者が見つかったソリューションのようなハックを投稿rajind ruparathnaによるコメントで述べたように。また、hereが見つかります。

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

そして、次のようにこのquestionから、あなたがたBufferedImageにIplImageへ変換することができます。

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; 
} 
関連する問題