0
Tesseract 인스턴스에서 데이터 경로를 명시 적으로 설정해야하지만 환경 변수를 읽지 않으려 고하는 이유는 무엇입니까?경로 변수를 사용하지 않는 Tesseract
제가 정리해 드리죠 :
ITesseract tesseract = new Tesseract();
String result = tesseract.doOCR(myImage);
예외 코드를 에러를 실행 :
Error opening data file ./tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the
parent directory of your "tessdata" directory.
이미 즉,이 설정 지금
echo $TESSDATA_PREFIX returns /usr/share/tessdata/
을하고, 내 환경 변수를 설정 한 path 변수를 명시 적으로 내 코드에 넣습니다 (예 :
).
Itesseract tesseract = new Tesseract();
tesseract.setDatapath("/usr/share/tessdata/");
String result = tesseract.doOCR(myImage);
WORKS PERFECTLY. 왜? Manjaro를 사용하고 있습니다. 17.0.5
하지만 그것은 하드 코딩되지 않습니다. 그러나 제 질문은 "왜 도서관이 자신의'share' 라이브러리를 찾을 수 없습니까?"라고 말하지 않아도됩니다. –
기본적으로 tess4j는 Tesseract가 아닌 로컬 'tessdata' 폴더를 사용합니다. 'TESSDATA_PREFIX' 변수에 의해 정의 된 경로를 인식하지 못합니다. – nguyenq