gpt4 book ai didi

php - 如何将 Tesseract OCR 安装到由 PHP 运行的 WAMP 服务器上?

转载 作者:搜寻专家 更新时间:2023-10-31 21:12:16 24 4
gpt4 key购买 nike

我正在尝试将 OCR 软件 Tesseract 安装到我的 WAMP 服务器上,以便我可以自动执行某些图像的 OCR 过程。当我搜索如何将软件安装到 WAMP 服务器上时,我得到的只是如何安装 WAMP 服务器,因此该路由没有任何答案。我已经在我的计算机上成功安装了 Tesseract 并且知道我正在使用的文件可以正常工作,我的问题是我无法从 PHP 脚本运行 Tesseract。我使用了提供的 Windows 安装程序并将其安装到我在 WAMP 中的 www 目录中。然后我尝试使用 PHP exec() 执行一些 OCR,但没有得到任何输出。这是我的简单脚本:

<?php
$path = getenv('PATH');
putenv("PATH=$path:/usr/local/bin");
$src = 'a.jpg';
$srcImg = imagecreatefromjpeg($src);

$img = imagecreatetruecolor($newClanWidth, $newHeight);
imagecopyresampled($img, $srcImg, 0, 0, $positions["aPlayer"], $positions[0], $newClanWidth, $newHeight, $clanWidth, $height);
imagejpeg($img, 'temp.jpg', 100);
echo '<pre>';
exec('tesseract temp.jpg out');
//echo file_get_contents('out.txt');
echo '</pre>';
imagedestroy($img);
?>

图片保存正确。我可以更改 imagecopyresampled() 中的位置,图像也会相应更改。我怀疑我的问题出在安装上,因为我看到每个人都说要像使用命令行一样使用 exec()。我也试过指定像 Tesseract-OCR/tesseract.exe temp.jpg out 这样的命令。 Tesseract-OCR 文件夹与我的 PHP 脚本位于同一目录中。我承认对此很陌生,所以如果我忽略了一些简单的事情,请多多包涵。提前致谢。

最佳答案

“已成功安装 Tesseract”是什么意思?你是怎么验证的?您可以运行 tesseract.exe -v 并在命令行中正常运行(或者这些天您在 Windows 上调用 CMD)吗?

如果可行,请确保通过 php 执行此操作可获得相同的结果:

确保您已打开错误:error_reporting(-1) 并检查您是否收到任何错误。而不是尝试通过以下方式通过 php 执行 tesseract:

$return = shell_exec('tesseract.exe -v'); // in your example you miss .exe it would be without extension on linux
var_dump($return);

(shell_exec 返回所有输出,与 exec 比较只返回最后一行)

如果可行,请尝试在提取时设置绝对路径:

imagejpeg($img, 'c:/temp.jpg', 100);
$return = exec('tesseract.exe temp.jpg c:/out');
var_dump($report); // in case it gives you some errors
$content = file_get_contents('c:/out.txt');
if ($content === false) die('something is still wrong');
// otherwise process $content

如果没有任何帮助,请分享您的结果/错误。

最后的提示:尝试安装 linux

关于php - 如何将 Tesseract OCR 安装到由 PHP 运行的 WAMP 服务器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com