Ruby on rails 为Heroku Rails应用程序实现OCR

Ruby on rails 为Heroku Rails应用程序实现OCR,ruby-on-rails,heroku,ocr,tesseract,Ruby On Rails,Heroku,Ocr,Tesseract,我需要Heroku上Rails应用程序的OCR功能。我让tesseract工作的努力没有成功。有人有什么建议吗?很难相信像OCR这样基本的东西在像Heroku上的Rails这样无处不在的东西上不受支持 使TESSERACT工作的背景资料 应用程序使用tesseract二进制文件和tesseract ocr gem在MacOS上运行良好 Heroku没有内置的tesseract支持,也不支持安装二进制文件(请参阅) 关于Heroku上tesseract的大多数问题都没有答案(,) 无法在本地加载

我需要Heroku上Rails应用程序的OCR功能。我让tesseract工作的努力没有成功。有人有什么建议吗?很难相信像OCR这样基本的东西在像Heroku上的Rails这样无处不在的东西上不受支持

使TESSERACT工作的背景资料

  • 应用程序使用tesseract二进制文件和tesseract ocr gem在MacOS上运行良好
  • Heroku没有内置的tesseract支持,也不支持安装二进制文件(请参阅)
  • 关于Heroku上tesseract的大多数问题都没有答案(,)
  • 无法在本地加载gem(尚未在Heroku上尝试)
  • 对我来说,使用的途径似乎势不可挡(如果这种方法可行,我不明白为什么有人没有提供预打包的解决方案)
加载TESSERACT_BIN gem时出现特定错误

/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:in `open': No such file or directory - /Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/bin (Errno::ENOENT)
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:in `foreach'
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:in `children'
    from /Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/lib/tesseract_bin.rb:7:in `<module:TesseractBin>'
    from /Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/lib/tesseract_bin.rb:3:in `<top (required)>'
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `require'
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `rescue in require'
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in `require'
    from tmp/tesseract.rb:261:in `<main>'
/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:“打开”:没有这样的文件或目录-/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/bin(Errno::enoint)
from/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:in'foreach'
from/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/pathname.rb:422:in'children'
来自/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/lib/tesseract_bin.rb:7:in`'
来自/Users/palfvin/.rvm/gems/ruby-2.0.0-p247@avlats/gems/tesseract_bin-1.0.2/lib/tesseract_bin.rb:3:in`'
from/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site\u ruby/2.0.0/rubygems/core\u ext/kernel\u require.rb:110:in'require'
来自/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site\u ruby/2.0.0/rubygems/core\u ext/kernel\u require.rb:110:“在require中救援”
from/Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site\u ruby/2.0.0/rubygems/core\u ext/kernel\u require.rb:35:in'require'
来自tmp/tesseract.rb:261:in`'

我为Heroku开发了一个简单的RoR服务器,它使用Tesseract OCR。服务器接收jpg图像,运行OCR并以字符串形式返回文本。这可能是一个很好的起点

此外,我还使用了一个我自己修改过的定制构建包。您可以在此处找到详细信息:


我希望这能解决你的问题。

“像OCR这样基本的东西”我认为OCR是世界上最困难的任务之一,仅次于语音识别。另一方面,回建可能是一种方式,因为这是一种认可的方式,可以将您自己的二进制文件添加到Heroku dynos上提供的内容中。谢谢。当然,我并不是说“基本”是“易于算法实现”,而是指“具有许多应用程序都需要的简单界面(图像=>文本)的东西”在同一句话里看到这两个词真是太有趣了。。。