tesseract, jTessBoxEditor 에서 empty page고치기/ box 안잡힐때
tif파일에서 box파일로 변환할때 tesseract명령어를 이용했었다.
이때 empty page!라는 오류가 나고, 이 box파일을 jTessBoxEditor로 열었을때 box가 잡히지 않는 경우가 발생한다.
위와 같은 현상이 일어나는 이유는 다양하다.
1. tesseract가 글자를 인식할 수 없다.
--->이것 또한 여러가지 이유로 tesseract가 글자를 인식 할 수 없다.
tesseract가 글자를 인식할 수 있도록 사진의 조건을 맞춰줘야 한다.
이에 대한 해결방법으로는 사진의 전처리 작업을 해주면 된다.
→tesseract에서 권장하는 dpi 값은 300이다. 사진의 dpi를 권장 dpi에 맞춰주면 해결 될 수 있다.
→사진이 흐릿하거나 글자가 너무 뚱뚱하다면 여러가지 필터를 씌워보고 좋은 상태의 글자로 만들어 줘야한다.
→사진의 크기가 문제될 수도 있다. 정해져 있는 규격은 없지만, 글자와 사진 끝부분까지의 거리도 중요하며 사진의 전체적인 크기 또한 영향을 미친다.
2.psm값이 맞지 않다.
psm은 page segmentation modes이다.
이미지를 어떻게 split할 것이냐에 대한 설정값이다.
무작정 어떤 psm이 좋다는 것은 없다. 내가 추출하고자 하는 글자의 성질을 파악하여 고르면 된다.
예를 들어 내가 인식하고 싶은 글자가 한글자라면 psm10을 사용하면 되고 한 줄이라면 psm7이 적당할 것이다.
psm의 자세한 정보는
tesseract --help-extra
명령어를 통해 볼 수 있다.
psm은 box파일로 변환할때 설정해줄 수 있다.
tesseract --psm 10 eng.nh.exp1112.tif eng.nh.exp1112 batch.nochop makebox
잘 변환이 된다는 것을 볼 수 있다.
(위와 같은 경우는 psm7로 변환하는 것이 더 바람직해 보인다.)
이는 mac에서의 명령어이다.
window에서는
tesseract.exe -psm 10 ~.tif ~ batch.nochop makebox 를 사용하면 된다
((tesseract.exe -psm 10 eng.nh.exp1112.tif eng.nh.exp1112 batch.nochop makebox))