Tesseract和Php ocr

and*_*rew 3 php ocr tesseract

我希望使用Tesseract将大量图像文件转换为文本.

我查看了他们的文档,但不知道这与PHP有什么关系以及我的php脚本将如何与tesseract ocr交互.我已经看到其他问题表明php exec()可能就是这样.

$img = myimage.png;
$text = exec($img,'tesseract');
Run Code Online (Sandbox Code Playgroud)

我已经下载并安装了tesseract.使用安装了最新版xampp的Windows 7.我有初学者对PHP的中级知识.我错过了什么知识?

更新我现在让它在powershell和cmd中使用

tesseract.exe D:\Documents\Web_Development\Sandbox\php\images\23.png D:\Documents\Web_Development\Sandbox\php\images\23
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过这样的exec运行它时:

<?php 
exec('tesseract.exe D:\Documents\Web_Development\Sandbox\images\23.png D:\Documents\Web_Development\Sandbox\images\23');
?>
Run Code Online (Sandbox Code Playgroud)

我从Windows中弹出一个说明tesseract.exe已停止工作的弹出窗口.以下是错误详细信息,如果它们对任何人都有意义.

Problem signature:
  Problem Event Name:   BEX
  Application Name: tesseract.exe
  Application Version:  0.0.0.0
  Application Timestamp:    4ca507b3
  Fault Module Name:    MSVCR90.dll
  Fault Module Version: 9.0.30729.4926
  Fault Module Timestamp:   4a1743c1
  Exception Offset: 0002f93e
  Exception Code:   c0000417
  Exception Data:   00000000
  OS Version:   6.1.7600.2.0.0.768.3
  Locale ID:    1033
  Additional Information 1: e958
  Additional Information 2: e95831f9d00a16a326250da660e931c5
  Additional Information 3: 040a
  Additional Information 4: 040a259d27c5ccf749ee18722d5fbec0
Run Code Online (Sandbox Code Playgroud)

Fla*_*ius 7

你应该尝试让它在没有PHP的情况下工作,也就是说,从ms windows CLI界面运行它(ms-dos提示符).之后,您只需将您在CLI中键入的内容放入PHP运行时,通过CLI或其他一些IPC机制运行它,最后使用PHP变量对其进行参数化.

例如,如果在CLI中您将要键入

ipconfig /all
Run Code Online (Sandbox Code Playgroud)

要获得系统的IP配置,那么在PHP中你只需使用:

<?php
echo '<pre>';
echo exec('ipconfig /all');
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

回到你的问题,如果在你要发布的CLI中:

tesseract document.tif result
Run Code Online (Sandbox Code Playgroud)

然后在PHP中你会这样做

<?php
echo '<pre>';
echo exec('tesseract document.tif result');
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

就是这样.它不是特定于tesseract,它适用于任何程序(使用CLI界面).

如果您需要更多地控制输出或输入(因为在程序运行时要求用户输入的情况),您应该使用http://ch2.php.net/manual中proc_*()的函数族/en/function.exec.php

祝好运!