[tesseract]Deserialize header failed: FIRC.lstmf
tesseract5.0训练时候会提示
[INFO]cd /d D:\program\tesseract-ocr-lstm-train\data
[INFO]D:\program\tesseract-ocr-lstm-train\Tesseract-OCR\tesseract.exe xiangjiao.tif xiangjiao -l eng --psm 7 lstm.train
[INFO]Page 1
[INFO]Page 2
[INFO]Deserialize header failed: xiangjiao.lstmf
[INFO]Failed to read training data from xiangjiao.lstmf!
[INFO]Error during processing.
原因分析:psm方式和标注框不对应,查看box文件标注为单字符标注,因此选用7不合适,关于psm详细用法如下:
调用ocr识别:
tesseract [image_path][output_file][-l lang][--psm page_seg_mode][--oem ocr_engine_mode]
[image_path]:需要识别图形路径;
[output_file]:识别结果保存路径;
[-l lang]:语言,也就是字库文件;
[--psm page_seg_mode]:设置页面分割模式;
[--oem ocr_engine_mode]:OCR 引擎模式。
--psm详细解释:
=======================================
0 =仅限方向和脚本检测(OSD)。
1 =使用OSD自动分页。
2 =自动页面分割,但没有OSD或OCR。(未实现)
3 =全自动页面分割,但没有OSD。(默认)
4 =假设一列可变大小的文本。
5 =假设一个垂直对齐文本的统一块。
6 =假设一个统一的文本块。
7 =将图像视为单个文本行。
8 =将图像视为单个单词。
9 =将图像视为圆形中的单个单词。
10 =将图像视为单个字符。
11 =稀疏文本。找到尽可能多的文本,没有特定的顺序。
12 =带OSD的稀疏文本。
13 =原始线。
--oem详细解释:
=======================================
0 =仅原始Tesseract引擎。
1 =神经网络仅限LSTM。
2 =原始Tesseract引擎 + LSTM。
3 =默认,基于可用的内容。
输出结果保存方式:
- alto - 以ALTO格式输出(OUTPUTBASE.xml)。
- hocr - 以hOCR格式输出(OUTPUTBASE.hocr)。
- pdf - 输出PDF(OUTPUTBASE.pdf)。
- tsv - 输出TSV(OUTPUTBASE.tsv)。
- txt - 输出纯文本(OUTPUTBASE.txt)。
- get.images - 将处理后的输入图像写入文件(tessinput.tif)。
- logfile - 将调试消息重定向到文件(tesseract.log)。
- lstm.train - LSTM培训使用的输出文件(OUTPUTBASE.lstmf)。
- makebox - 写入框文件(OUTPUTBASE.box)。
- quiet - 将调试消息重定向到/ dev / null。
因此最终选择psm为13解决上面了报错