Answers:
截至2018年,可用的最佳开源OCR软件是Tesseract 4(beta)及其新的LSTM神经网络OCR模型。它的OCR性能比版本3中使用的以前的OCR模型好得多。
示例(output.pdf
为扫描的德语文档生成带有文本层的PDF文件):
$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf
将识别的文本打印到标准输出:
$ tesseract --oem 1 -l deu page page-0001.png stdout
列出已安装的语言:
$ tesseract --list-langs
支持许多语言/脚本,其形式为可下载的经过培训的数据集,例如,甚至还有Fraktur的数据集。
借助新的LSTM模型,Tesseract从OCRopus研究项目中获得了一些启发。
Tesseract版本3即使在高质量的输入图像上也表现相对较差,即,它经常错误地检测出灰尘像素中的单个字符(在任何文本上下文之外),并且容易在众所周知的单词中引入单个字符错误。
Cuneiform OCR的性能还不错,但是并没有得到积极维护(2011年最新发布的版本1.1),并且很容易崩溃,并存在其他一些问题:
您可以像这样禁用布局算法:
$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001
(-l
指定源文档的语言)
$ ocrad -F utf8 image-0001
默认情况下,文本将打印到标准输出。
在商业文档中,它缺少带下划线的单词,而楔形文字/ tesseract / gocr没有。
$ gocr image-0001
默认情况下,文本将打印到标准输出。
Sane对许多自动文档进纸(ADF)扫描仪(例如Avision和Fujitsu扫描仪)都提供了很好的支持。
Sane随附的scanimage
命令行程序可用于构建脚本化的扫描管道(例如,参考我的adf2pdf.py
脚本)。
我发现了一个类似的问题在StackOverflow上和Asprise OCR SDK,链接的一个商业产品,拥有的Linux版本。
很少有流行的OCR命令行工具:
Tesseract(自述文件,常见问题解答)(Python)
也可用于:Tesseract .NET,Tesseract iOS
OCR引擎是1985年至1995年在HP实验室开发的,现在在Google上进行了开发。Tesseract可能是可用的最准确的开源OCR引擎。
用法:
tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
开源字符识别。它将扫描的文本图像转换回文本文件。GOCR可以与不同的前端一起使用,这使得移植到不同的OS和体系结构非常容易。它可以打开许多不同的图像格式,并且其质量每天都在提高。
OCRopus ™(常见问题解答)(用Python,NumPy和SciPy编写)
OCR系统专注于使用大规模机器学习解决文档分析中的问题,具有可插拔布局分析,可插拔字符识别,统计自然语言建模和多语言功能。
OCRopus引擎基于两个研究项目:90年代中期开发并由美国人口普查局部署的高性能手写识别器,以及新颖的高性能布局分析方法。
OCRopus是Google赞助的开发项目,最初旨在进行高通量,大容量的文档转换工作。我们希望它对于许多其他应用也将是一个出色的OCR系统。
Tessnet2(开源,OCR,Tesseract,.NET,DOTNET,C#,VB.NET,C ++ / CLI)
Tesseract是C ++开源OCR引擎。Tessnet2是.NET程序集,它公开了执行OCR的非常简单的方法。Tessnet2已获得Apache 2许可(例如tesseract),这意味着您可以随意使用它,该产品已包含在商业产品中。
其他已经建议的:用于Linux的ABBYY CLI OCR,Asprise OCR。
另请阅读:
有关更完整的列表,请检查:Wikipedia上的光学字符识别软件列表。
如果您有预算,我强烈建议您使用ABBYY FineReader Engine Linux版CLI。我们公司已经在我们的Web应用程序中使用了一年,我们计划续签该许可证。很好的识别质量,命令行界面,多种语言的识别。