php 带 http 的 tesseract post 无响应

php tesseract with http post no response

我正在网络服务器上开发一个 php 页面。它的工作分为以下三个步骤:

  1. 使用 POST 方法获取从 HTML 表单上传的图像; 执行 tesseract 把图片变成文字;
  2. 执行tesseract将图片转为文字;
  3. 在屏幕上打印文本;

现在我相信第 2 步和第 3 步是正确的,因为如果我在网络服务器上使用本地 jpg 文件,一切正常。但是,如果我用HTML形式来POST一个图像文件,没有反应。有什么建议吗?

HTML 文件

<!DOCTYPE html>
<body>
<form enctype="multipart/form-data" method="POST" action="<webserver>/try.php">
<input type="file" name="myimg"></input>
<input type="submit"></input>
</form>
</body>
</html>

Web 服务器上的 try.php 文件

<?php
$im=$_FILES['myimg'];
echo exec('/usr/bin/tesseract $im stdout', $msg);
print_r($msg);
?>

实际上,我认为错误在于我如何使用 $im 变量,对吗?

如果您不想先处理文件,您可以像这样使用 'tmp_name' 路径..

if(isset($_FILES['myimg'])){
echo exec('/usr/bin/tesseract '.$_FILES['myimg']['tmp_name'].' stdout', $msg);
    print_r($msg);
}

这可能有效,但我还没有测试过..

这是我过去对 tesseract OCR 的一些研究。

http://amarchmike.blogspot.com/

对于你的问题,我想你漏掉了什么 试试这个

$im="/usr/bin/tesseract/image/test00.jpg"  // change to image path
echo exec("/usr/bin/tesseract $im ");  // exec using double quote for variable representation

这就像在 V3.03

上支持标准输出 https://code.google.com/p/tesseract-ocr/wiki/ReleaseNotes