Ocr 如何将IplImage转换为lept.PIX
我开发了基于JavaCV的OCR系统 我在项目中使用以下库:Ocr 如何将IplImage转换为lept.PIX,ocr,tesseract,javacv,Ocr,Tesseract,Javacv,我开发了基于JavaCV的OCR系统 我在项目中使用以下库: 在一个例子中,我需要找到图像的某些部分并识别上面的字母 我以IplImage类型存储图像的一部分 但对于Tesseract,我必须使用PIX格式 如何将IplImage转换为Pix IplImage prepareImg = ... cvSaveImage("test.jpg", prepareImg); PIX pixImage = pixRead("/test.jpg"); ---资料来源:
IplImage prepareImg = ...
cvSaveImage("test.jpg", prepareImg);
PIX pixImage = pixRead("/test.jpg");
---资料来源:
如rajind ruparathna发表的评论所述,该问题的作者找到了类似黑客的解决方案。也可以找到它 由此,您可以将IplImage转换为BuffereImage,如下所示
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;
}
是否有一个设计问题阻止你将图像直接作为PIX读取?@goodbytes,问题的作者发现了一个漏洞。
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;
}