오픈소스로 OCR 해독 중 ...
Tesseractt 버전 4에서
한글데이터 학습하기가 필요함
윈도우 상에선 jTessBoxEditor를
이용하면 된다고 나왔지만
원하는 글자 모양으로 학습하기 곤란
따라서 우분투를 설치해서 학습하는 방법 검색 후
실행해 봄.
VirtualBox에 Ubuntu 18.04 설치 후
tesseract 설치해서 학습 시키는 방법 보존 ...
다른 블로그에선 QT, opencv, tesserqact를 설치하는 법 설명
그러나 설치중 에러가 많이 남...(실력부족으로 해결 불가)
간단 설치
1. 필요한 업데이트 실시 : 참조 사이트
https://m.blog.naver.com/tommybee/221307497468
2. 위 사이트에 소개된 내용
우분투에 tesseract 설치하기 간단
출처 : https://m.blog.naver.com/tommybee/221307497468
우분투 18.04에 tesseract 4 포함되있으므로 Ubuntu 패키지 관리자로 설치
sudo apt install teseract-ocr
sudo apt install libteseract-dev
sudo apt install pyteseract
$ git clone https://github.com/tesseract-ocr/tesseract
$ git clone https://github.com/tesseract-ocr/langdata
$ git clone https://github.com/tesseract-ocr/tessdata_best
3. 한글 폰트 학습하기 순서
tesseract 폴더 구조
/home/tesseract <--- 학습명령 실행 위치
/home/tesseract/tessdata
/home/tesseract/langdata/eng/
/home/tesstutorial/engtrain/
학습하기 (영문인 경우 : 한글은 eng->kor로 변경)
0 .참고 사이트 : https://blog.naver.com/jerry1455/221414701122
1. 폰트 복사
윈도우 폰트 TTF를 리눅스에 복사
sudo cp *.ttf /usr/share/fonts
이후 폰트 더블클릭 후 우측상단의 "install"로 설치해도 됨
2. 폴더 준비
$ mkdir -p ~/tesstutorial/kortrain
$ mkdir -p ~/tesstutorial/koroutput
$ mkdir -p ~/tesstutorial/trainplusminus
$ mkdir -p ~/tesstutorial/evalplusminus
3. 작업전 복사해야 할 화일 및 위치
/home/tesstutorial/kortrain/kor/eng.traineddata <- 안 넣어도 됨
/home/tesstutorial/kortrain/
(주의 : 이폴더의 kor.training_text 는 자동생성이고 아래와 내용이 다름)
/home/tesseract/langdata/kor/kor.training_text
<- 학습시키려는 문장이나 기호가 저장된 화일(없으면 에러)
4. 폰트데이터 생성 (한줄로 만들어서 명령줄에 넣을것)
$ src/training/tesstrain.sh
--fonts_dir /usr/share/fonts \
--lang kor \
--linedata_only \
--noextract_font_properties \
--langdata_dir ./langdata \
--tessdata_dir ./tessdata \
--exposures "0" \
--fontlist "MoeumT R Regular" \
--output_dir ~/tesstutorial/kortrain
5. 기존 학습데이터 변환 (Extract the generated model)
$ combine_tessdata -e ./tessdata/kor.traineddata ~/tesstutorial/kortrain/kor.lstm
6. Make eval data for the ‘Impact’ font
lstmeval --model kor.lstm \
--traineddata tesseract/tessdata/kor.traineddata \
--eval_listfile train/kor.training_files.txt
7. 새 폰트데이터 학습 (한줄로 만들어서 명령줄에 넣을것)
$ lstmtraining --continue_from ~/tesstutorial/kortrain/kor.lstm \
--old_traineddata ./tessdata/kor.traineddata \
--traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \
--model_output ~/tesstutorial/koroutput/base \
--train_listfile ~/tesstutorial/kortrain/kor.training_files.txt \
--max_iterations 3600
7. 결과 적용
$ lstmtraining --stop_training \
--continue_from ~/tesstutorial/koroutput/base_checkpoint \
--old_traineddata ./tessdata/kor.traineddata \
--traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \
--model_output ~/tesstutorial/koroutput/kor.traineddata
필요 명령어
한국어
===============================
학습에 사용되는 글자추가 :
langdata/kor/kor.training_text
$ src/training/tesstrain.sh --fonts_dir /usr/share/fonts \
--lang kor \
--linedata_only \
--noextract_font_properties \
--langdata_dir ./langdata \
--tessdata_dir ./tessdata \
--exposures "0" \
--fontlist "MoeumT R Regular" \
--output_dir ~/tesstutorial/kortrain
$ combine_tessdata -e ./tessdata/kor.traineddata ~/tesstutorial/kortrain/kor.lst
$ lstmeval --model kor.lstm \
--traineddata tesseract/tessdata/kor.traineddata \
--eval_listfile train/kor.training_files.txt
$ lstmtraining --continue_from ~/tesstutorial/kortrain/kor.lstm \
--old_traineddata ./tessdata/kor.traineddata \
--traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \
--model_output ~/tesstutorial/koroutput/base \
--train_listfile ~/tesstutorial/kortrain/kor.training_files.txt \
--max_iterations 3600
$ lstmtraining --stop_training \
--continue_from ~/tesstutorial/koroutput/base_checkpoint \
--old_traineddata ./tessdata/kor.traineddata \
--traineddata ~/tesstutorial/kortrain/kor/kor.traineddata \
--model_output ~/tesstutorial/koroutput/kor.traineddata
참고사이트
https://mc.ai/training-sinhala-language-with-tesseract-4-1-version/
영문
===========================
학습에 사용되는 글자추가 :
langdata/eng/eng.training_text
$ src/training/tesstrain.sh --fonts_dir /usr/share/fonts --lang eng --linedata_only --noextract_font_properties --langdata_dir ./langdata --tessdata_dir ./tessdata --exposures "0" --fontlist "MoeumT R Regular" --output_dir ~/tesstutorial/engtrain
$ combine_tessdata -e ./tessdata/eng.traineddata ~/tesstutorial/engtrain/eng.lstm
$ lstmtraining --continue_from ~/tesstutorial/engtrain/eng.lstm --old_traineddata ./tessdata/eng.traineddata --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata --model_output ~/tesstutorial/engoutput/base --train_listfile ~/tesstutorial/engtrain/eng.training_files.txt --max_iterations 3600
$ lstmtraining --stop_training --continue_from ~/tesstutorial/engoutput/base_checkpoint --old_traineddata ./tessdata/eng.traineddata --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata --model_output ~/tesstutorial/engoutput/eng.traineddata
'C#_.NET' 카테고리의 다른 글
네이버 주식데이터 크롤링 : Web crawler (2) | 2023.05.03 |
---|---|
네이버 증권 데이터 엑셀로 다운 / 그래프 작성 (0) | 2022.07.02 |
네이버 증권정보 엑셀로 저장 - 데이터 처리 보강 (0) | 2020.02.04 |
파인에듀 기자재관리 SW - 업데이트(FineEduAsset) (0) | 2020.01.09 |
에듀파인 - 불용결정 내역서 자동 작성 업데이트 (0) | 2019.11.14 |