1. jTessBoxEditor 2.4.1 다운로드
https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
2. jdk 1.7다운로드 (jTessBoxEditor구동환경이 자바)
https://www.oracle.com/kr/java/technologies/downloads/
3. Windows용 Tesseract 5.3.1 설치
https://github.com/UB-Mannheim/tesseract/wiki
3-1. windows path 설정
C:\Program Files\Tesseract-OCR
4. 학습용 문자 이미지 준비 (이미지 파일명이 표현된 문자정답)
5. 포토스케이프(윈도우 앱 설치가능)로 이미지 전체 병합 저장(train.tiff)
langname = train
jTessBoxEditor로 학습데이터 이미지 변환작업 (파일명 train.my.exp0.tif)
트레이닝할 이미지 박스 만들기
Syntax: tesseract [langname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox
ex: tesseract train.my.exp0.tif train.my.exp0 batch.nochop makebox
jTessBoxEditor Box editor로 이미지 파일을 열면 숫자를 박스형태로 보여줍니다.
이때 문자인식이 틀리거나 박스모양이 잘못된경우 수정 및 삭제를 작업을 해서 인식율을 높입니다.
jTessBoxEditor->Box Editor->Open->train.my.exp0.tif 파일을 열고 틀린글자나 잘못된 박스 수정후 저장
.tr파일 생성(이미지 파일과 박스파일 병합)
Syntax: tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] box.train
ex: tesseract train.my.exp0.tif train.my.exp0 box.train
Box파일 문자집합을 추출
Syntax: unicharset_extractor [langname].[fontname].[expN].box
ex: unicharset_extractor train.my.exp0.box
font_properties 파일 생성
Syntax: echo "[fontname] [italic(0 or 1)] [bold(0 or 1)] [monospace(0 or 1)] [serif(0 or 1)] [fraktur(0 or 1)]" > font_properties
ex: echo "arial 0 0 1 0 0" > font_properties
(학습)Mftraining을 수행하면, inttemp 파일(윤곽 특징의 프로토타입)과 pffmtable 파일(문자별 기대되는 특징의 개수 정보)이 생성
Syntax: mftraining -F font_properties -U unicharset -O [langname].unicharset [langname].[fontname].[expN].tr
ex: mftraining -F font_properties -U unicharset -O train.unicharset train.my.exp0.tr
(학습)cntraining을 수행하면 normproto 파일(문자별 정규화 감도, normalization sensitivity prototype)이 생성됩니다.
Syntax: cntraining [langname].[fontname].[expN].tr
ex: cntraining train.my.exp0.tr
트레이닝을 작업이 완료되면 아래 파일이 생성됩니다.
생성된 파일을 병합하기 위해 파일명을 변경합니다.
shapetable
inttemp
pffmtable
normproto
rename shapetable train.shapetable
rename inttemp train.inttemp
rename pffmtable train.pffmtable
rename normproto train.normproto
트레이닝 데이터 병합
Syntax: combine_tessdata [langname].
ex: combine_tessdata train.
.traineddata 파일 복사
C:\Program Files\Tesseract-OCR\tessdata
실행
tesseract Test2.png stdout -l train
6. jTessBoxEditor 실행 Tools -> Merge TIFF 실행
7. 포토스케이프로 병합한 train.tiff 이미지 선택 (select input images)
8. 트레이닝 이미지타입(tiff)로 변환파일 저장
[langname].[fontname].[expN].[file-extension] 형식으로 저장
train.my.exp0.tif
9. 트레이닝할 이미지 박스 만들기
Syntax: tesseract [langname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox
ex: tesseract train.my.exp0.tif train.my.exp0 batch.nochop makebox
10. jTessBoxEditor Box editor로 이미지 파일을 열면 숫자를 박스형태로 보여줍니다.
이때 문자인식이 틀리거나 박스모양이 잘못된경우 수정 및 삭제를 작업을 해서 인식율을 높입니다.
jTessBoxEditor->Box Editor->Open->train.my.exp0.tif 파일을 열고 틀린글자나 잘못된 박스 수정후 저장
11. .tr파일 생성(이미지 파일과 박스파일 병합)
Syntax: tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] box.train
ex: tesseract train.my.exp0.tif train.my.exp0 box.train
12. Box파일 문자집합을 추출
Syntax: unicharset_extractor [langname].[fontname].[expN].box
ex: unicharset_extractor train.my.exp0.box
13. font_properties 파일 생성
Syntax: echo "[fontname] [italic(0 or 1)] [bold(0 or 1)] [monospace(0 or 1)] [serif(0 or 1)] [fraktur(0 or 1)]" > font_properties
ex: echo "arial 0 0 1 0 0" > font_properties
14. (학습)Mftraining을 수행하면, inttemp 파일(윤곽 특징의 프로토타입)과 pffmtable 파일(문자별 기대되는 특징의 개수 정보)이 생성
Syntax: mftraining -F font_properties -U unicharset -O [langname].unicharset [langname].[fontname].[expN].tr
ex: mftraining -F font_properties -U unicharset -O train.unicharset train.my.exp0.tr
15. (학습)cntraining을 수행하면 normproto 파일(문자별 정규화 감도, normalization sensitivity prototype)이 생성됩니다.
Syntax: cntraining [langname].[fontname].[expN].tr
ex: cntraining train.my.exp0.tr
16. 트레이닝을 작업이 완료되면 아래 파일이 생성됩니다. 생성된 파일을 병합하기 위해 파일명을 변경합니다.
shapetable
inttemp
pffmtable
normproto
rename shapetable train.shapetable
rename inttemp train.inttemp
rename pffmtable train.pffmtable
rename normproto train.normproto
17. 트레이닝 데이터 병합
Syntax: combine_tessdata [langname].
ex: combine_tessdata train.
18. 트레이닝 파일 확인(train.traineddata)
19. 트레이닝 데이터 Tesseract(윈도우용) 데이타 폴더로 복사
20. 테스트
https://www.youtube.com/watch?v=1v8BPw0Dn0I
'Windows' 카테고리의 다른 글
원격 데스크톱 연결(RDP) 접근 로그 조회 프로그램 (2) | 2023.09.25 |
---|---|
실시간 윈도우 이벤트 로그 리더(Real Time Event Log Reader) (0) | 2023.08.24 |
C# Selenium 특정요소 기다리는 방법 (wait.Until, CancellationToken) (0) | 2022.11.15 |
[C#] 근사값 구하기 (0) | 2022.02.06 |
c# 특정시간 기준으로 간격으로 두고 두번 실행하는 방법 (0) | 2021.12.17 |