Tesseract OCR for PHP空白页面

问题描述 投票:0回答:1

它正在返回一个空白页面。使用thiagoalessio Tesseract OCR for PHP。

Tesseract安装在我的Homestead VM上:

vagrant@xxx-yyy-zzz:/usr/bin$ ./tesseract -v
tesseract 3.04.01

空白页面:

use thiagoalessio\TesseractOCR\TesseractOCR;
    class OCRController extends Controller
    {
        public function analyze() {
            echo (new TesseractOCR(asset('storage/text.png')))
                ->executable('/usr/bin/tesseract')->run();
        }
    }

调试PHP代码:

use thiagoalessio\TesseractOCR\TesseractOCR;
class OCRController extends Controller
{
    public function analyze() {
        $tesseract = new TesseractOCR(asset('storage/text.png'));
        $tesseract->executable('/usr/bin/tesseract');
        var_dump($tesseract);
    }
}

输出:

/home/vagrant/code/project-io/app/Http/Controllers/OCRController.php:13:
object(thiagoalessio\TesseractOCR\TesseractOCR)[444]
  private 'image' => string 'http://project.test/storage/text.png' (length=38)
  private 'command' => null
  private 'executable' => string '/usr/bin/tesseract' (length=18)
  private 'options' => 
    array (size=0)
      empty

知道http://project.test/storage/text.png实际上正在返回图像。

Tesseract正在使用命令行:

vagrant@xxx-yyy-zzz:~/code/project-io/public/storage$ tesseract text.png stdout
The quick brown fox
jumps over
the lazy dog.
php laravel ocr tesseract
1个回答
1
投票

使用laravel和Tesseract OCR for PHP,似乎接收图像路径的TesseractOCR的构造函数不接受URL作为参数。由于asset()返回图像的URL,这将不起作用。这应该是一条严格的道路。

$tesseract = new TesseractOCR(asset('storage/app/public/text.png')); // Incorrect

应该:

$tesseract = new TesseractOCR(storage_path('app/public/text.png')); // Correct
© www.soinside.com 2019 - 2024. All rights reserved.