2015년 6월 28일 일요일

Tesseract traineddata 파일 만드는 방법

필요한 소프트웨어와 데이터 

Tesseract 3 ... http://code.google.com/p/tesseract-ocr/downloads/list
GhostScript 9 ... http://www.ghostscript.com/download/gsdnld.html
jTessBoxEditor ... http://vietocr.sourceforge.net/training.html
Serak Tesseract trainer ... http://code.google.com/p/serak-tesseract-trainer/
Sample old-english doc ... http://michaeljaylissner.com/archive/ocr/old-english.doc

샘플 이미지 파일 만들기

1. Sample old-english doc을 열어서 내용을 원하는 폰트로 바꾼다. 이때 줄 간격을 1.5이상으로 하고 글 간격을 1포인트로 한다. 파일내용을 PDF로 저장하는데 이때 파일이름을 [lang].[font-name].exp0.pdf로 한다. 반드시 exp0가 들어 가야 한다.

예) eng.arial.exp0.pdf

2. gswin32c.exe를 사용해서 300DPI 이미지 파일을 만든다.

예) gswin32c.exe -o eng.arial.exp0.tif -sDEVICE=tiffg4 -r300x300 -g2550x3300 eng.arial.exp0.pdf

-o : 출력파일명을 지정한다.
-s : 출력파일 이미지 형식을 지정한다.
-r : 이미지의 해상도를 DPI로 지정한다.
-g : 페이지크기를 픽셀로 지정한다.


Training OCR

1. Tesseract를 사용해서 box파일을 만든다.

예) tesseract.exe eng.arial.exp0.tif eng.arial.exp0 batch.nochop makebox

makebox : 3.02.02이상에만 있는 옵션이다.

2. jTessBoxEditor로 box파일과 tif파일을 연다.

3. 각 문자가 제대로 인식되었는지 점검하고 틀린 곳이 있으면 고친 후 저장한다.


traineddata 생성

1. Serak Trainer를 시작해서 새로운 프로젝트를 만든 후 네 단계를 실행한다.

이때, Serak Trainer 폴더 밑에 있는 Config.cfg에는 아래와 같이 Tesseract 경로와 traindata의 Prefix가 지정되어 있다.

C:\Program Files\Tesseract-OCR
eng

2. TrainData\Tessdata 폴더 밑에 있는 만들어진 *.traineddata 이름을 바꾸어서 Tesseract-OCR\Tessdata 에 복사해 넣는다.

3. Serak Trainer의 "Test OCR"탭에서 ISO-Language에 언어 Prefix를 지정하고 (예:eng), 테스트 이미지 파일을 열어서 OCR테스트를 한다. 언어를 여러개 지정할 경우 eng+eng1등과 같이 지정한다.


참고링크

https://peepswrite.wordpress.com/2013/05/26/training-tesseract-3-02/
http://michaeljaylissner.com/posts/2012/02/11/adding-new-fonts-to-tesseract-3-ocr-engine/

댓글 없음 :

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.