1. <tfoot id='gJuKC'></tfoot>
  2. <small id='gJuKC'></small><noframes id='gJuKC'>

      <legend id='gJuKC'><style id='gJuKC'><dir id='gJuKC'><q id='gJuKC'></q></dir></style></legend>
      <i id='gJuKC'><tr id='gJuKC'><dt id='gJuKC'><q id='gJuKC'><span id='gJuKC'><b id='gJuKC'><form id='gJuKC'><ins id='gJuKC'></ins><ul id='gJuKC'></ul><sub id='gJuKC'></sub></form><legend id='gJuKC'></legend><bdo id='gJuKC'><pre id='gJuKC'><center id='gJuKC'></center></pre></bdo></b><th id='gJuKC'></th></span></q></dt></tr></i><div id='gJuKC'><tfoot id='gJuKC'></tfoot><dl id='gJuKC'><fieldset id='gJuKC'></fieldset></dl></div>

      • <bdo id='gJuKC'></bdo><ul id='gJuKC'></ul>

      tesseract-ocr使用以及训练方法

      时间:2023-12-16
      <i id='SSooo'><tr id='SSooo'><dt id='SSooo'><q id='SSooo'><span id='SSooo'><b id='SSooo'><form id='SSooo'><ins id='SSooo'></ins><ul id='SSooo'></ul><sub id='SSooo'></sub></form><legend id='SSooo'></legend><bdo id='SSooo'><pre id='SSooo'><center id='SSooo'></center></pre></bdo></b><th id='SSooo'></th></span></q></dt></tr></i><div id='SSooo'><tfoot id='SSooo'></tfoot><dl id='SSooo'><fieldset id='SSooo'></fieldset></dl></div>

      <small id='SSooo'></small><noframes id='SSooo'>

    1. <legend id='SSooo'><style id='SSooo'><dir id='SSooo'><q id='SSooo'></q></dir></style></legend>

          <tbody id='SSooo'></tbody>

            <tfoot id='SSooo'></tfoot>

            • <bdo id='SSooo'></bdo><ul id='SSooo'></ul>

                Tesseract-OCR使用指南

                Tesseract-OCR 是一款OCR字符识别工具,可用于将印刷或手写文字转换为文本或数字字符。本文旨在介绍 tesseract-ocr 的基本使用方法及训练方法。

                安装 Tesseract-OCR

                • Linux

                  bash
                  sudo apt-get install tesseract-ocr

                • MacOS

                  bash
                  brew install tesseract

                • Windows

                  下载安装包并安装。

                基本使用方法

                语言选择

                Tesseract-OCR 支持多种语言文字识别,需要在使用时指定。例如要识别中文,需要将语言设置为 chi_sim:

                tesseract image.png output --oem 1 -l chi_sim
                

                其中:

                • image.png 是要识别的图片文件名。

                • output 是识别结果的输出文件名。

                • --oem 1 指定 OCR 引擎的模式,默认为 oem 3。

                • -l chi_sim 设置识别语言为中文简体。

                图像处理

                在进行文字识别前,最好对图片进行一些处理,以提高识别率。以下是一些常用的图像处理方法:

                • 二值化

                  bash
                  convert image.png -threshold 75% image_bw.png

                • 裁剪

                  bash
                  convert image.png -crop 100x100+10+10 image_cropped.png

                • 去噪

                  bash
                  convert image.png -type grayscale -blur 0x3 -normalize -negate image_clean.png

                示例

                下面以一个示例说明如何识别一张图片中的文字:

                # 下载示例图片
                curl -L https://github.com/tesseract-ocr/tesseract/raw/master/test/testing/eurotext.tif -o eurotext.tif
                
                # 语言设置为英文
                tesseract eurotext.tif output -l eng
                
                # 打印识别结果
                cat output.txt
                

                结果如下:

                This is a lot of 12 point text to test the
                ocr code and see if it works on all types
                of file format.
                The quick brown dog jumped over the
                lazy dog.
                

                训练 Tesseract-OCR

                Tesseract-OCR 也可以通过训练来提高识别率,训练过程需要较长时间,需要预先准备好训练数据和训练样本。

                训练步骤大致如下:

                1. 收集并清理训练数据,即包含所需字符集的图片文件,例如字母、数字、符号等。

                2. 制作训练样本,格式为 box。

                  bash
                  tesseract image.png output batch.nochop makebox

                3. 创建字库文件,包含所有训练字符及其对应图片。

                  bash
                  unicharset_extractor *.box

                4. 字体训练,生成 traineddata 文件。

                  ```bash
                  shapeclustering -F font_properties -U unicharset *.tr

                  mftraining -F font_properties -U unicharset -O eng.unicharset *.tr

                  cntraining *.tr
                  combine_tessdata eng.
                  ```

                示例

                以下是一个中文字符识别的训练过程示例:

                1. 下载训练数据

                  bash
                  git clone https://github.com/tesseract-ocr/langdata_chi_sim.git

                2. 清理训练数据

                  bash
                  for file in ./langdata_chi_sim/Lang*.bmp; do convert $file $(basename "$file" .bmp).tif; done

                3. 制作训练样本

                  bash
                  for file in *.tif; do tesseract $file "$(basename "$file" .tif)" batch.nochop makebox; done

                4. 创建字库文件

                  bash
                  unicharset_extractor *.box

                5. 字体训练

                  ```bash
                  shapeclustering -F font_properties -U unicharset langdata_chi_sim/Lang*.tr

                  mftraining -F font_properties -U unicharset -O chi.unicharset langdata_chi_sim/Lang*.tr

                  cntraining langdata_chi_sim/Lang*.tr

                  combine_tessdata chi.
                  ```

                完成以上步骤后,即可通过语言设置 -l chi_sim 来识别中文字符。

                结语

                Tesseract-OCR 是一个功能强大的OCR识别工具,通过本文所介绍的方法,可以方便快速地进行文字识别和训练。建议读者深入了解 Tesseract-OCR 的参数及其作用,以获得更佳的识别效果。

                上一篇:Python线程的两种编程方式 下一篇:Python多进程的使用详情

                相关文章

                    <legend id='IJgEg'><style id='IJgEg'><dir id='IJgEg'><q id='IJgEg'></q></dir></style></legend>
                  1. <small id='IJgEg'></small><noframes id='IJgEg'>

                      <bdo id='IJgEg'></bdo><ul id='IJgEg'></ul>

                    <tfoot id='IJgEg'></tfoot>
                    <i id='IJgEg'><tr id='IJgEg'><dt id='IJgEg'><q id='IJgEg'><span id='IJgEg'><b id='IJgEg'><form id='IJgEg'><ins id='IJgEg'></ins><ul id='IJgEg'></ul><sub id='IJgEg'></sub></form><legend id='IJgEg'></legend><bdo id='IJgEg'><pre id='IJgEg'><center id='IJgEg'></center></pre></bdo></b><th id='IJgEg'></th></span></q></dt></tr></i><div id='IJgEg'><tfoot id='IJgEg'></tfoot><dl id='IJgEg'><fieldset id='IJgEg'></fieldset></dl></div>