Tesseract-OCR 학습방법

2023. 5. 4. 10:40· Windows
반응형

1. jTessBoxEditor 2.4.1 다운로드

https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

 

VietOCR - Browse /jTessBoxEditor at SourceForge.net

A platform built for a new way of working The Work OS that lets you shape workflows, your way

sourceforge.net

 

2. jdk 1.7다운로드 (jTessBoxEditor구동환경이 자바)

https://www.oracle.com/kr/java/technologies/downloads/

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

3. Windows용 Tesseract 5.3.1 설치

https://github.com/UB-Mannheim/tesseract/wiki

 

Home

Tesseract Open Source OCR Engine (main repository) - UB-Mannheim/tesseract

github.com

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(윈도우용) 데이타 폴더로 복사

트레이닝한 traineddata 파일 복사

 

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
'Windows' 카테고리의 다른 글
  • 원격 데스크톱 연결(RDP) 접근 로그 조회 프로그램
  • 실시간 윈도우 이벤트 로그 리더(Real Time Event Log Reader)
  • C# Selenium 특정요소 기다리는 방법 (wait.Until, CancellationToken)
  • [C#] 근사값 구하기
zosystem
zosystem
몇 달만 지나도 가물가물해서 만든 곳
동방노트몇 달만 지나도 가물가물해서 만든 곳
zosystem
동방노트
zosystem manage
전체
오늘
어제
  • 분류 전체보기 (278)
    • Linux (90)
      • 기본명령어&팁 (13)
      • 설치 및 셋팅 (16)
      • 네트워크보안 (5)
      • Samba&NFS (6)
      • 모니터링 (3)
      • Apache&nginx (5)
      • MySQL (2)
      • PHP (0)
      • Cloud (29)
      • Shell (1)
      • RAID (1)
      • PLEX (2)
      • Python (5)
      • Docker (2)
    • Windows (22)
    • Windows Server (9)
    • IoT (1)
    • 데이타베이스 (1)
    • 잡다한 개발팁 (19)
    • 개발유틸리티 (8)
    • 컴퓨터관리 (127)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • synology firewall
  • 그래픽카드 드라이버 이슈
  • selenium
  • Python
  • 시놀로지 그누보드5 설치
  • 원격 데스크톱 연결
  • CCTV
  • phpmyadmin 접근제어
  • 프린터
  • 바탕 화면 아이콘 설정 단축키
  • ap
  • OMV
  • IP Camera
  • synology phpmyadmin
  • mysql_connect() error
  • docker
  • RDP
  • omv7
  • Printer
  • fail2ban
  • OpenMediaVault
  • rsync
  • log syntax highlighting
  • PID
  • openmediavault 7
  • nt530u4e-e3b
  • amd 드라이버 이슈
  • fpc케이블
  • 프린터 방화벽
  • portainer

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
zosystem
Tesseract-OCR 학습방법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.