Tesseract识别特殊符号"Ø"

该博客讲述了如何在Tesseract OCR中识别Unicode编码为00D8的直径符号'Ø'。通过创建和训练自定义的Tesseract模型,作者提供了一步步的bash脚本指令,包括数据准备、模型训练和转换,最终成功识别特殊符号。
摘要由CSDN通过智能技术生成

文字识别过程中遇到问题,需要识别出直径符号“Ø”,用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方式

### 回答1: Tesseract 是一个开源光学字符识别引擎,它可以用于识别数字、符号和字母等字符。为了使 Tesseract 能够准确识别特定的字符集,我们需要训练一个适用于我们所需字符集的模型。 训练集是用于训练模型的数据集合,它包含了我们希望 Tesseract 能够识别的数字、符号和字母样本。训练集应该包含多种不同的字体、大小和样式的字符,以获得更好的训练效果。 首先,我们需要收集一组包含所需字符的图像样本。这些图像样本应该以数字、符号和字母的不同组合形式呈现,并尽可能地覆盖各种字体和风格。接下来,我们需要手动标记这些图像样本,将每个字符与对应的标签关联起来,以告诉模型它们所代表的字符。 然后,我们可以使用 Tesseract 提供的训练工具将标记数据集训练成一个新的字符识别模型。这个过程包括将样本图像转换成 Tesseract 特定的训练数据格式,并使用这些数据来训练模型。训练过程可能需要花费一定时间和计算资源,但训练完成后,我们将得到一个能够识别从训练集中提取的数字、符号和字母的模型。 最后,我们可以将这个训练好的模型应用于我们想要识别字符的任务中。通过使用该模型,我们可以提高识别数字、符号和字母的准确性和效率。 总而言之,利用 Tesseract 和训练集,我们可以训练一个能够识别数字、符号和字母的定制模型,从而实现更精准和个性化的字符识别任务。 ### 回答2: Tesseract是一个开源的OCR(光学字符识别)引擎,开发者可以用它识别各种类型的文字,包括数字、符号和字母。为了让Tesseract可以准确识别不同字体、大小和样式的字符,我们需要为其提供一个训练集。 训练集是用于训练OCR引擎的数据集合,包含大量的文本图片,这些图片中包含各种不同的数字、符号和字母。为了制作一个训练集,我们首先需要收集大量的样本图片,包括各种类型和风格的数字、符号和字母。接下来,我们需要手动标注每个图片中的字符,以便Tesseract可以学习它们的特征和形状。 当我们有了足够大的样本集和相应的标注后,就可以使用Tesseract的训练工具来训练我们自己的OCR引擎了。这个过程涉及到一些参数调整和模型训练的步骤,以确保引擎能够准确地识别字符。 训练集的质量对于Tesseract识别效果至关重要。为了准确识别数字、符号和字母,我们需要确保训练集覆盖了各种不同的字体、大小和样式。此外,还需要保证标注的准确性,避免错误的标注导致训练出的OCR引擎产生误识别。 总结来说,通过收集样本图片、标注字符,然后使用Tesseract的训练工具进行训练,我们可以创建一个能够准确识别数字、符号和字母的OCR引擎。但是制作高质量的训练集是一个复杂和耗时的过程,需要充分的技术知识和大量的工作。 ### 回答3: Tesseract 是一个开源的 OCR(Optical Character Recognition,光学字符识别)引擎,可以用于识别数字、符号和字母等不同类型的字符。为了使 Tesseract 能够准确识别特定类型的字符,我们需要创建一个适应的训练集。 创建训练集的过程可以分为以下几步: 1. 收集样本:首先需要收集包含所需字符的样本图像。这些样本图像可以从不同的来源获取,例如互联网、书籍、照片等。确保样本图像的质量和多样性,以便提高识别准确率。 2. 标注样本:将收集到的样本图像进行标注,即为每个字符添加正确的标签。这样做是为了告诉 Tesseract 每个字符的正确形状和特征,以便提高识别精度。可以使用标注工具,如 jTessBoxEditor,来手动为每个字符标注。 3. 创建训练数据:使用标注的样本图像生成训练数据文件,这些文件将作为训练集供 Tesseract 使用。可以使用 Tesseract 提供的一些命令行工具来实现这一步骤。 4. 训练模型:使用生成的训练数据文件训练一个自定义的 OCR 模型。训练过程将会基于收集到的样本图像和标注信息来调整模型参数,以便提高字符识别的准确率。训练模型可能需要一定时间,具体取决于样本数量和复杂性。 5. 测试和优化:完成模型训练后,可以使用一部分未参与训练的样本图像进行测试,并评估模型的性能。如果识别准确率不理想,可以通过调整模型参数或增加更多样本来进行优化。 通过以上步骤,我们可以创建一个适用于 Tesseract 的训练集,使其能够正确识别数字、符号和字母等各种字符。请注意,这是一个繁琐的过程,需要有一定的编程和图像处理知识,但是通过合理的设计和大量的样本,我们可以获得较高的字符识别准确率。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neil_baby

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值