【发布时间】:2013-11-17 17:57:03
【问题描述】:
我需要 Heroku 上的 Rails 应用程序的 OCR 功能。我让 tesseract 工作的努力没有成功。有没有人有什么建议?很难相信像 OCR 这样基本的东西不支持像 Heroku 上的 Rails 这样无处不在的东西。
努力让 TESSERACT 工作的背景
- 应用程序在使用 tesseract 二进制文件和 tesseract-ocr gem 的 MacOS 上运行良好
- Heroku 没有内置的 tesseract 支持,也不支持安装二进制文件(请参阅 Configuring environmental paths in Heroku)
- 关于 Heroku 上 tesseract 的大多数 SO 问题都没有答案(Using Tesseract on Heroku with Django, Tesseract-OCR on Heroku with Node.js)
- 无法让tesseract_bin gem 在本地加载(未在 Heroku 上尝试过)
- 使用buildpack-libraries 的途径对我来说似乎是压倒性的(如果这种方法可行,我不明白为什么有人没有提供预打包的解决方案)
加载 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>'
【问题讨论】:
-
“像 OCR 一样基本的东西” 我认为 OCR 是世界上最困难的任务之一,可能仅次于语音识别。另一方面,buildback 可能是要走的路,因为这是将您自己的二进制文件添加到 Heroku dynos 上可用的内容的认可方式。
-
谢谢。我当然不是说“基本”是“易于在算法上实现”,而是“具有许多应用程序都想要的简单界面(图像 => 文本)的东西”。
-
我猜的! :) 看到这两个词出现在同一个句子里真是太有趣了……
标签: ruby-on-rails heroku ocr tesseract