Tesseract之外还有哪些OCR选项?

时间:2012-03-13 19:31:34

标签: php python ruby ocr tesseract

我已经使用过Tesseract了,结果还有很多不足之处。我目前正在检测非常小的图像(35x15,没有边框,但尝试添加一个带有imagemagick而没有ocr优势);它们的范围从2个字符到5个,并且是一个非常可靠的字体,但是字符变量足够大,只需使用图像大小校验和,或者这样就不起作用。

除了坚持使用Tesseract或对其进行完整的自定义培训外,OCR还有哪些选择?此外,如果这与Heroku样式托管兼容(至少我可以编译的话),它会非常有用把箱子推了过去。)

2 个答案:

答案 0 :(得分:18)

我过去曾成功使用GOCR进行小图像OCR。我会说,在相当规则的字体上正确设置灰度选项后,准确度大约为85%。当字体变得复杂并且多行布局出现问题时,它会失败。

另请查看由Google维护的{​​{3}}。它与Tesseract有关,但据我所知,它的OCR引擎是不同的。只包含默认模型,它可以在高质量图像上实现近99%的准确度,处理布局非常好,并为HTML输出提供有关格式和线条的信息。但是,根据我的经验,当图像质量不够好时,其精度非常低。话虽如此,培训相对简单,您可能想尝试一下。

它们都可以从命令行轻松调用。 GOCR的使用非常简单;只需输入gocr -h,您就应该拥有所需的所有信息。 Ocropus有点棘手;这是一个用例,在Ruby中:

require 'fileutils'
tmp = 'directory'
file = 'file.png'

`ocropus book2pages #{tmp}/out #{file}`
`ocropus pages2lines #{tmp}/out`
`ocropus lines2fsts #{tmp}/out`
`ocropus buildhtml #{tmp}/out > #{tmp}/output.html`

text = File.read("#{tmp}/output.html")
FileUtils.rm_rf(tmp)

答案 1 :(得分:5)

我们在办公室使用Vividata的OCR XTR Lite。它使用ScanSoft引擎,非常准确,但不是免费的解决方案。目前它是用bash编写的,我每天处理75,000到150,000页。精度几乎是完美的,它会自动旋转图像以确定OCR方向。