如何设置和运行开源PHP Tesseract OCR?

3
我已经根据GitHub提供的文档通过MacPorts安装了Tesseract OCR,并且安装成功。
但是,我正在尝试为PHP使用Tesseract OCR(https://github.com/thiagoalessio/tesseract-ocr-for-php),所以我下载了zip文件,并将库包含到我的PHP文件中,并使用了
echo (new TesseractOCR('text.png'))
->run();

但是什么也没有显示出来。 下面是PHP代码的完整内容。
<?php 

REQUIRE_ONCE __DIR__.'/src/TesseractOCR.php';

echo (new TesseractOCR('text.png'))
    ->run(); 

?>

我的错误日志中有这个条目:

sh: tesseract: 命令未找到

如果您能为我提供一些关于如何使它工作的指示,那将是非常好的!


Apache错误日志文件中的任何错误 - Naisa purushotham
是的,它出现了一个错误 - “sh:tesseract:command not found”,但我认为我已经通过终端成功安装了tesseract? - Mike
你成功安装了Tesseract吗?你确定吗? - Ajay Kulkarni
显然,你没有这样做。或者可能是php脚本无法解析到tesseract可执行文件的路径。从我在源代码中看到的内容来看,它只是执行“tesseract”,这意味着它在你的PATH上。尝试通过executable()方法设置可执行文件的完整路径。 - Gordon
2个回答

7
为了使用Tesseract OCR,您可能需要遵循以下步骤:
1)将Tesseract OCR安装到您的系统中。有关安装的信息,请查看以下网址:https://github.com/tesseract-ocr/tesseract/wiki
对于Ubuntu Linux系统,您可以运行:
sudo apt-get install tesseract-ocr

2) 创建composer.json文件并添加以下内容:

{"require":{"thiagoalessio/tesseract_ocr": "1.0.0-RC"}}

3) 从终端执行命令

composer install

4) 最后,编写 PHP 代码:

require_once "vendor/autoload.php";
echo (new TesseractOCR('test.png'))->run();

希望这对你有用,

嗨,Haresh。我已经尝试了你提供的使用composer的步骤,但仍然无法工作,错误日志仍然显示sh:tesseract:命令未找到。在终端上,我可以看到Tesseract已经安装并显示在屏幕上的所有可用选项中,但我不确定在executable()方法下应指定哪个可执行路径? - Mike
我正在使用Mac El Capitan操作系统,我找到了位于/opt/local/bin/tesseract下的可执行文件。 - Mike
请尝试将/opt/local/bin/tesseract的值设置为您的系统路径环境变量,请查看http://www.cyberciti.biz/faq/appleosx-bash-unix-change-set-path-environment-variable/以设置路径变量。 - Haresh Kumar
请按照 https://dev59.com/enPYa4cB1Zd3GeqPiGOE 的步骤解决新错误。 - Haresh Kumar
完美的。快速、简单、易于运行。 - Hoàng Huỳnh Nhật
显示剩余3条评论

0

你忘记在 require_once 后面插入了

use thiagoalessio\TesseractOCR\TesseractOCR;

基本上,为了使其工作,你可以简单地这样做:

<?php

require_once "../vendor/autoload.php";
use thiagoalessio\TesseractOCR\TesseractOCR;

$ocr = new TesseractOCR("17.png");
$content = $ocr->run();
echo $content;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接