我过去曾成功地将GOCR用于小图像OCR。我会说在相当常规的字体上正确设置灰度选项后,准确率约为85%。当字体变得复杂并且多行布局出现问题时,它会失败得很惨。
也看看由Google维护的Ocropus。它与Tesseract有关,但据我所知,它的OCR引擎是不同的。仅包含默认模型,即可在高质量图像上实现接近99%的准确度,很好地处理布局,并提供HTML输出,其中包含有关格式和线条的信息。但是,根据我的经验,当图像质量不够好时,其准确性非常低。话虽如此,训练相对简单,您可能想尝试一下。
它们都可以从命令行轻松调用。GOCR的使用非常简单;只需键入,您应该拥有所需的所有信息。Ocropus有点棘手;这里有一个使用示例,在 Ruby 中:gocr -h
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)