如何将IplImage转换为lept.PIX

时间:2016-04-28 14:35:42

标签: ocr tesseract javacv

我开发基于JavaCV的OCR系统。

我为我的项目使用以下库:

在一个案例中,我需要找到图像的某些部分并识别其上的字母。

我以IplImage类型存储图像的一部分。

但对于Tesseract,我必须使用PIX格式。

如何将IplImage转换为Pix?

2 个答案:

答案 0 :(得分:3)

发布问题作者发现的解决方案。它也可以找到here

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

从这个question,您可以将IplImage转换为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;
}

答案 1 :(得分:1)

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

---来源:Same Github issues 正如rajind ruparathna的评论所提到的