如何为 PHP(开源)设置和运行 Tesseract OCR?
Posted
技术标签:
【中文标题】如何为 PHP(开源)设置和运行 Tesseract OCR?【英文标题】:How to setup and running Tesseract OCR for PHP (opensource)? 【发布时间】:2016-10-31 15:46:54 【问题描述】:我已经根据 GitHUb 上提供的文档通过 MacPorts 安装了 Tesseract OCR,并且安装成功,并且
但是,我正在尝试将 Tesseract OCR 用于 php (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 错误日志文件中的任何错误 是有一个错误 - “sh: tesseract: command not found”,但我以为我已经通过终端成功安装了 tesseract? 你成功安装了tesseract?你确定吗? 显然,你没有。或者也许 php 脚本无法解析 tesseract 可执行文件的路径。从我在源代码中可以看到,它只是在执行“tesseract”,它假设它在你的 PATH 上。尝试通过executable() method设置可执行文件的完整路径。 【参考方案1】:要使用 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();
希望这对你有用,
【讨论】:
嗨哈雷什。我已经尝试了您使用 composer 提供的步骤,但仍然无法正常工作,并且错误日志仍然显示 sh: tesseract: command not found。在终端上,我可以通过在屏幕上显示所有可用选项来看到 Tesseract 已经安装,我不确定在 executable() 方法下应该指定什么可执行路径? 好的,实际上 tesseract-ocr 命令未在您的系统中正确配置,请查看我的答案的第 1 步。你能告诉我你的操作系统是什么吗? 我正在使用 Mac El Capitain OS,我找到了 /opt/local/bin/tesseract 下的可执行文件 尝试将/opt/local/bin/tesseract
值设置为您的系统路径环境变量,请查看cyberciti.biz/faq/… 以设置路径变量
设置路径变量后重新打开终端并使用tesseract -v
命令检查是否正确安装。【参考方案2】:
你忘了在 require_once 之后插入 使用 thiagoalessio\TesseractOCR\TesseractOCR;
基本上班,你可以简单的做到:
<?php
require_once "../vendor/autoload.php";
use thiagoalessio\TesseractOCR\TesseractOCR;
$ocr = new TesseractOCR("17.png");
$content = $ocr->run();
echo $content;
【讨论】:
以上是关于如何为 PHP(开源)设置和运行 Tesseract OCR?的主要内容,如果未能解决你的问题,请参考以下文章