2016-07-19 3 views
0

이제 tesseractOCR에 처리 된 이미지를 전달하여 인식하면 tif 파일 형식으로 저장 한 다음 tesseractOCR 엔진으로 읽습니다. 프로세스가 너무 오래 걸리고 이상하다는 것을 알았습니다. tesseract 엔진에 매트 파일을 직접 전달하여 저장 및로드하지 않고 인식 할 수있는 방법이 있습니까? 미리 감사드립니다.opencv에서 tesseract api로 파일 전송

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 

답변

0

http://tess4j.sourceforge.net/docs/docs-0.4/net/sourceforge/tess4j/Tesseract1.html에서 API를 보면, 당신이 당신의 목표를 달성하기 위해 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의 코드를 사용하여 매트 입력을 BufferedImage로 변환하고 BufferedImage에서 doOCR을 호출 할 수 있습니다.

+0

시도했지만 내 경우에는 작동하지 않습니다. 다른 방법을 제안 해 주시겠습니까? – OPfan