从opencv到tesseract api的文件传输



现在,当我将处理后的图像传递给tesseractOCR进行识别时,我将首先将其保存为tif文件格式,然后将其读取到tesseractOCR引擎。我发现这个过程太耗时和奇怪了,有没有任何方法可以直接将mat文件传递给tesseract引擎进行识别,而无需保存和加载?提前谢谢。

Mat imagefromOpenCV= new Mat();
Tesseract1 instance = new Tesseract1();
String filename = "C:\image.tif";
Imgcodecs.imwrite(filename, imagefromOpenCV);     
File imageFile = new File(filename);        // do reading 
String OCR_str  = instance.doOCR(imageFile);          // performing OCR 

从http://tess4j.sourceforge.net/docs/docs-0.4/net/sourceforge/tess4j/Tesseract1.html,看来你可以使用doOCR(java.awt.image.BufferedImage bi)doOCR(int xsize, int ysize, java.nio.ByteBuffer buf, java.awt.Rectangle rect, int bpp)来实现你的目标。例如,您可以使用http://www.codeproject.com/Tips/752511/How-to-Convert-Mat-to-BufferedImage-Vice-Versa将Mat输入转换为BufferedImage,并在BufferedImage上调用doOCR

相关内容

  • 没有找到相关文章

最新更新