我开发基于JavaCV的OCR系统。
我为我的项目使用以下库:
在一个案例中,我需要找到图像的某些部分并识别其上的字母。
我以IplImage类型存储图像的一部分。
但对于Tesseract,我必须使用PIX格式。
如何将IplImage转换为Pix?
答案 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的评论所提到的