Tesseract识别特殊符号"Ø"

文字识别过程中遇到问题,需要识别出直径符号“Ø”,用tesseract试了很多方法,都不行,最后用以下方法可以识别。

首先需要注意的时:

“Ø” 不是古希腊符号,而是拉丁文字,unicode编码是00d8,参见 https://www.compart.com/en/unicode/U+00D8,  https://en.wikipedia.org/wiki/%C3%98

#!/bin/bash

rm -rf ~/tesstutorial/chi_sim_train

~/tesseract/src/training/tesstrain.sh \

--fonts_dir ~/.fonts \

--training_text ~/langdata_lstm/chi_sim/chi_sim.finetune.training_text \

--langdata_dir ~/langdata_lstm \

--tessdata_dir ~/tesseract/tessdata \

--lang chi_sim --linedata_only \

--noextract_font_properties \

--exposures "0" \

--maxpages 0 \

--workspace_dir ~/tmp \

--save_box_tiff \

--fontlist \

"NSimSun" \

"Arial Unicode MS" \

"SimSun" \

"Noto Sans CJK SC" \

"Noto Sans Mono CJK SC" \

--output_dir ~/tesstutorial/chi_sim_train

 

rm -rf ~/tesstutorial/chi_sim_layer

mkdir ~/tesstutorial/chi_sim_layer

 

combine_tessdata -e ~/tessdata_best/chi_sim.traineddata ~/tesstutorial/chi_sim_layer/chi_sim.lstm

 

lstmtraining \

--model_output ~/tesstutorial/chi_sim_layer/chi_sim_layer \

--continue_from ~/tesstutorial/chi_sim_layer/chi_sim.lstm \

--traineddata ~/tesstutorial/chi_sim_train/chi_sim/chi_sim.traineddata \

--append_index 5 --net_spec '[Lfx128 O1c1]' \

--train_listfile ~/tesstutorial/chi_sim_train/chi_sim.training_files.txt \

--debug_interval -1 \

--max_image_MB 6000 \

--max_iterations 6000

 

~/tesseract/bin/src/training/lstmtraining \

--stop_training \

--continue_from ~/tesstutorial/chi_sim_layer/chi_sim_layer_checkpoint \

--traineddata ~/tesstutorial/chi_sim_train/chi_sim/chi_sim.traineddata \

--model_output ~/tesstutorial/chi_sim_layer/chi_sim_layer.traineddata

 

~/tesseract/bin/src/training/lstmtraining \

--stop_training \

--convert_to_int \

--continue_from ~/tesstutorial/chi_sim_layer/chi_sim_layer_checkpoint \

--traineddata ~/tesstutorial/chi_sim_train/chi_sim/chi_sim.traineddata \

--model_output ~/tesstutorial/chi_sim_layer/chi_sim_layer_int.traineddata

 

cp ~/tesstutorial/chi_sim_layer/*.traineddata ~/tessdata_best/

 

ls -l ~/tesstutorial/chi_sim_layer/*.traineddata

 

注意convert_to_int 它可以把traineddata转换为int模式,traineddata文件会很小,而且训练速度会提升很多,精度会稍有下降

同样也可以转换为float方式

你可能感兴趣的:(Tesseract-OCR)