如何为Tesseract 4.1.0创建Traineddata文件

问题描述 投票:0回答:1

我想识别NumberPlate的字符。如何在ubuntu 16.04中为各自的车牌训练tesseract-ocr。因为我不熟悉培训。请帮我创建一个'训练的数据'文件来识别车牌。

我有1000张车牌照片。

请仔细研究一下。任何帮助将是欣赏。

所以我尝试了以下命令

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox

tesseract eng.arial.plate3655.png eng.arial.plate3655 batch.nochop makebox

但它给出了错误。

Tesseract Open Source OCR Engine v4.1.0-rc1-56-g7fbd with Leptonica
Error, cannot read input file eng.arial.plate3655.png: No such file or directory
Error during processing.

之后我尝试过

tesseract plate4.png eng.arial.plate4 batch.nochop makebox

它有效,但在一些板块。现在在第2步。我收到错误。

屏幕截图已附上。

用于训练的板4图像

步骤1和Ste p2显示在终端中

文件在步骤1和步骤2之后生成

在步骤1和步骤2之后生成的文件的内容

ocr tesseract python-tesseract openalpr alpr
1个回答
2
投票

为Tesseract 4创建.traineddata

{*注意:安装tesseract后打开cmd并执行以下操作。}

第1步:为我们想要训练的图像制作盒子文件

句法:

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox

例如:

tesseract own.arial.exp0.jpg own.arial.exp0 batch.nochop makebox

{*注意:制作盒子文件后,我们必须更改或修改盒子文件中错误识别的字符。}

第2步:创建.tr文件(复合图像文件和文件夹)

句法:

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] box.train

例如:tesseract own.arial.exp0.jpg own.arial.exp0 box.train

步骤3:从box文件中提取字符集(此命令的输出是unicharset文件)

句法:

unicharset_extractor [langname].[fontname].[expN].box 

例如:

unicharset_extractor  own.arial.exp0.box

第4步:根据我们的需要创建font_properties文件。

句法:

echo "[fontname] [italic (0 or 1)] [bold (0 or 1)] [monospace (0 or 1)] [serif (0 or 1)] [fraktur (0 or 1)]" > font_properties 

例如:

echo "arial 0 0 1 0 0" > font_properties

第5步:培训数据。

句法:

mftraining -F font_properties -U unicharset -O [langname].unicharset [langname].[fontname].[expN].tr

例如:

mftraining -F font_properties -U unicharset -O own.unicharset own.arial.exp0.tr

第6步:

句法:

cntraining [langname].[fontname].[expN].tr

例如:

cntraining own.arial.exp0.tr

{*注意:在步骤5和步骤6之后创建了四个文件。(shapetable,inttemp,pffmtable,normproto)}

步骤7:将四个文件(shapetable,inttemp,pffmtable,normproto)重命名为([langname] .shapetable,[langname] .inttemp,[langname] .pffmtable,[langname] .normproto)

句法:

rename filename1 filename2

例如:

    rename shapetable own.shapetable
    rename inttemp own.inttemp
    rename pffmtable own.pffmtable
    rename normproto own.normproto

第8步:创建.traineddata文件

句法:

combine_tessdata [langname].

例如:

combine_tessdata own.

{*注意:我只使用一个图像exp0来创建训练有素的数据。如果你想训练多个你可以训练的图像,即exp1,exp2..expn}

Reference

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.