如何为 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何为命令行强制使用PHP版本?

如何为主从设置编写 PHP MySQL 类?

如何为 PHP 8 设置合适的 Apache 版本

如何为所有列设置 AND 条件 - php

如何为codeigniter设置cron作业url?

如何为 CodeIgniter 设置 date.timezone 以使用 php 5.3