如何为 Tesseract 4.1.0 创建训练数据文件
How to Create Traineddata file For Tesseract 4.1.0
我想识别NumberPlate 的字符。
如何在 ubuntu 16.04 中为相应的车牌训练 tesseract-ocr。
由于我不熟悉培训。请帮我创建一个 'traineddata' 文件来识别车牌。
我有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 和步骤 p2 显示在终端中
第 1 步和第 2 步后生成的文件
步骤 1 和步骤 2 后生成的文件内容
正在为 Tesseract 4 创建 .traineddata
{*注意:安装 tesseract 后打开 cmd 并执行以下操作。}
第一步:
为我们要训练的图像制作盒子文件
语法:
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 来创建 traineddata.if 你想训练不止一张你可以训练的图像,即 exp1、exp2..expn }
我想识别NumberPlate 的字符。 如何在 ubuntu 16.04 中为相应的车牌训练 tesseract-ocr。 由于我不熟悉培训。请帮我创建一个 'traineddata' 文件来识别车牌。
我有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 和步骤 p2 显示在终端中
第 1 步和第 2 步后生成的文件
步骤 1 和步骤 2 后生成的文件内容
正在为 Tesseract 4 创建 .traineddata
{*注意:安装 tesseract 后打开 cmd 并执行以下操作。}
第一步: 为我们要训练的图像制作盒子文件
语法:
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 来创建 traineddata.if 你想训练不止一张你可以训练的图像,即 exp1、exp2..expn }