第一张图片实际上是用最新的 Tesseract 版本给出了正确的输出。
由于遵循的分段逻辑,Tesseract 有时会给出空白页面。在您的情况下,它将尝试分割单个单词,结果所有这些字符都将被视为噪声并且识别将失败。
如果您打算识别煤气表单位的照片,请考虑将 Tesseract 的Page Segmentation Mode设置为 8(这告诉 tesseract 将给定图像假定为单个单词)
您还可以考虑 tesseract 的其他页面分割模式
0 = 仅方向和脚本检测 (OSD)。
1 = 使用 OSD 自动进行页面分割。
2 = 自动页面分割,但没有 OSD 或 OCR
3 = 全自动页面分割,但没有 OSD。(默认)
4 = 假设有一列可变大小的文本。
5 = 假设一个统一的垂直对齐文本块。
6 = 假设一个统一的文本块。
7 = 将图像视为单个文本行。
8 = 将图像视为一个单词。
9 = 将图像视为圆圈中的单个单词。
10 = 将图像视为单个字符。
要设置特定的 psm,请使用“tesseract -psm
我建议你再做一件事。由于您想识别只有数字的煤气表值,您可以在 tesseract 配置文件中指定一个仅包含数字的自定义字符集。字符集的大小越小,识别的准确性就越高。字符集应始终包含输入图像可能具有的字符。
即使在尝试了上述所有组合之后,如果 tesseract 无法正确识别输入图像,那么尝试通过去除那些不需要的斑点来提高输入图像的质量。您可以尝试使用ImageMagick清理输入图像。希望这可以帮助。