最好,最简单的OCR解决方案是什么?


77

我想扫描我身边的大量纸张,以尽量减少麻烦。我想使用简单扫描将其转换为图像,然后使用OCR将其转换为文本。是否有一个好的带有GUI的OCR应用程序,只要按一下按钮就可以给我带来很好的效果?


在此线程中,我们确实需要大量返工。这么多旧/折旧/ ...的东西。没有单线测试。此处大多是复制粘贴的结果/列表。没有质量保证。
莱奥列奥波尔德赫兹준 영

在2018年,到目前为止,最简单的OCR解决方案是使用在线ocr api:Google Vision OCR,Azure OCR或免费的OCR.space OCR API都可提供高质量的OCR结果-当然只有在您的应用程序/用例允许使用云解决方案的情况下。
Nic Endo

Answers:


70
  • GOCR from 是一个OCR(光学字符识别)程序,它将扫描的文本图像转换回文本文件。

  • CLARA是另一个不错的图形选项。

  • OCRAD from 是一个OCR,可以用作独立的控制台应用程序,也可以用作其他程序的后端。

  • KOOKA from 是一个KDE应用程序,但是可以正常工作,此外,您还必须安装实际的OCR程序,例如GOCR和OCRAD。在安装Kooka和OCR程序之后,必须将Kooka指向OCR的安装位置,以便它能够将JPEG转换为文本。

  • OCRFeeder 是文档布局分析和光学字符识别系统。

  • Tesseract from 是命令行实用程序,使用非常简单。您可以从 此处安装语言包 tesseract-ocr-eng

看一下这个页面

注意:
要运行tesseract goto终端并输入以下内容

tesseract imagefile.tif outputfile.txt

Tesseract只能读取TIFF文件-如果您有JPEG或PDF或其他格式,则必须对其进行转换。另外,文件扩展名必须是.tif,而不是.tiff,否则会出现tesseract错误。


1
如果您的语言不是英语?其他语言有扩展吗?
瓦西里斯2010年

3
@Vassilis:OCR系统独立于语言,因为它们可以识别字符,而不是单词。但是,如果您的字母不是-Latin1字符(如西里尔字母),则可能会错过这些字符。
OpenNingia 2010年

2
@OpenNingia:即使使用仅使用拉丁字母的书写系统,该语言也可能很重要。它有助于OCR区分模棱两可的字母。
弗雷德里克·格罗斯汉斯

13
这样的问题/答案确实弄糟了askubuntu。该人员要求的是“什么是最好的,最简单的OCR解决方案”,而不是“ Linux上所有可用的OCR应用程序是什么”。此解决方案不应该被接受!真的很混乱,没有帮助。
阿林·安德烈

1
当前的Ubuntu tesseract(在Ubuntu 15.10上为3.04.00)PNG输入文件没有问题。它接受JPG文件,但给它们带来更糟糕的结果,就像人们从其他压缩工件中所期望的那样。
Volker Siegel

10

您可以使用几种流行的OCR命令行工具(我不确定它们是否具有GUI):

  • Tesseract自述文件常见问题解答)(Python)

    也可用于:Tesseract .NETTesseract iOS

    OCR引擎是1985年至1995年在HP实验室开发的,现在是Google。Tesseract可能是可用的最准确的开源OCR引擎。

    用法:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    
  • GOCR

    开源字符识别。它将扫描的文本图像转换回文本文件。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 OCRAsprise OCR

有关更完整的列表,请检查:Wikipedia上的光学字符识别软件列表

另请参阅:wanghaisheng/awesome-ocr-GitHub上有前途的OCR资源的精选清单


9

linux-intelligent-ocr-solution

免责声明-我与这个开源解决方案的开发紧密相关

Lios可以使用扫描仪或照相机将打印转换为文本。

它还可以从其他来源(例如Pdf,图像或包含图像的文件夹)的扫描图像中产生文本。

程序为视障人士提供了完全可访问性。

由于我的联系紧密-我希望获得反馈。


使用记录在哪里?lios不像我希望的那样直观。
一个编码器

该项目已移到这里
Suzana

是否可以仅在服务器的无头模式下通过命令行运行它?
2015年

8

Gscan2PDF

多页PDF或扫描文档上的OCR

这可能是最简单的方法。Gscan2pdf是一种图形工具,不仅可以扫描文件,还可以导入文件并对其执行OCR。从Ubuntu Software Center 此处 安装gscan2pdf从此处安装gscan2pdf或在终端中运行以下命令:

sudo apt-get install gscan2pdf
  • 运行gscan2pdf
  • 导入pdf(Ctrl + O)
  • 可选:工具>清理
  • 选择“工具”>“ OCR保存”(Ctrl + S)

Gscan2PDF可以使用可定制的OCR引擎,默认为 tesseract-ocr

您可以考虑选择适当的语言。在这种情况下,您将需要安装tesseract-ocr-LANG软件包,其中LANG是三个字母的ISO 639-2语言代码。现在,您在16.04版本上有108种语言。


我无法使用此软件做任何事情。根本没有足够的检测。在推荐应用程序之前获取有关应用程序的任何测试示例将非常好。
莱奥列奥波尔德赫兹준 영

适用于16.04的gscan2pdf至少没有Ctrl + i选项快捷键。打开pdf文件可正确识别“要提取的页面”,但选择“确定”则无济于事。
user75505 '16

3

我刚刚在pdfocr.rb上取得了成功(低于16.04)。这已在Ubuntu Wiki上列出

这是一个PPA,但16.04的存储库未更新。上面来自github的ruby脚本仍然可以与16.04一起使用。

您可以从Github下载它。您将需要安装以下软件包:

ruby tesseract-ocr pdftk exactimage

然后使pdfocr.rb可执行并运行:

./pdfocf.rb -i source.pdf -o output.pdf

(可选)您可以使用-l LANG参数。在这种情况下,您将需要安装tesseract-ocr-LANG软件包,其中LANG是三个字母的ISO 639-2语言代码。现在,您在16.04版本上有108种语言。


3

最好和最简单的方法是使用pypdfocr它不会更改pdf。pypdfocr是此处的python模块链接。

pypdfocr your_document.pdf

最后,您将获得your_document_ocr.pdf可搜索文本的另一种方式。该应用程序不会改变图像的质量。通过添加覆盖文本,稍微增加文件的大小。

我认为该命令非常简单,不需要任何GUI。也许安装pypdfocr会更加冗长:

sudo apt install tesseract-ocr 
pip install pypdfocr 

更新2018年11月3日:

pypdfocr自2016年以来不再受支持,我注意到由于未得到维护而出现了一些问题。ocrmypdf模块做一个辅助工作,可以这样使用:

ocrmypdf in.pdf out.pdf

安装:

pip install ocrmypdf

要么

apt install ocrmypdf

这是一个非常有趣的工具,尽管我认为OP希望使用GUI工具来生成文本文件,而不是PDF三明治。如果您可以包括项目网站,那就太好了。
安德里亚·拉扎罗托

@AndreaLazzarotto是的,我看到了,但是由于命令很简单,我想很多人都可以使用终端。所以我很难在这里包括解决方案
Eduard Florinescu

1
巧合的是,最近我发现了“ ocrmypdf”。你检查了吗?这是很不错的。:)
Andrea Lazzarotto

@AndreaLazzarotto似乎是一个不错的选择,您可能想要发布答案;)我将尝试一下它的工作原理:)
Eduard Florinescu

@AndreaLazzarotto似乎不是很容易在ubuntu 16.04上安装ocrmypdf github.com/jbarlow83/OCRmyPDF/issues/118
Eduard Florinescu

3

仅仅因为它工作得很好,并且绝对应该在列表中:


屏幕快照中的gimageReader示例:

在此处输入图片说明

它在存储库中(已在18.10上回答,但是已经使用了很长时间)


当我首次启动gimageReader时,它为tesseract发出了“无可用语言”消息。“ 如何为tesseract安装新的语言包 ”答案无法eng作为选择列出...但是我解决了!:) sudo apt install tesseract-ocr-eng在终端上运行就可以了。如果在gimageReader的帮助文件中或github上的“ README” ...或其他地方中进行了说明,那就太好了。也许像这里。
Dɑvïd

1

gscan2pdf包含3种不同的ocr引擎。您可以向右扫描该程序或将pdf导入该程序。我发现Tesseract引擎效果很好,并且非常易于使用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.