Tesseract和Php ocr
我希望使用Tesseract将大量图像文件转换为文本.
我查看了他们的文档,但不知道这与PHP有什么关系以及我的php脚本将如何与tesseract ocr交互.我已经看到其他问题表明php exec()可能就是这样. $img = myimage.png; $text = exec($img,'tesseract'); 我已经下载并安装了tesseract. 更新我现在让它在powershell和cmd中使用 tesseract.exe D:DocumentsWeb_DevelopmentSandboxphpimages23.png D:DocumentsWeb_DevelopmentSandboxphpimages23 但是当我尝试通过这样的exec运行它时: <?php exec('tesseract.exe D:DocumentsWeb_DevelopmentSandboximages23.png D:DocumentsWeb_DevelopmentSandboximages23'); ?> 我从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 解决方法
你应该尝试让它在没有PHP的情况下工作,也就是说,从ms windows
CLI interface(ms-dos提示符)运行它.之后,您只需将您在CLI中键入的内容放入PHP运行时,通过CLI或其他
IPC mechanisms运行它,最后使用PHP变量对其进行参数化.
例如,如果在CLI中您将要键入 ipconfig /all 要获得系统的IP配置,那么在PHP中你只需使用: <?php echo '<pre>'; echo exec('ipconfig /all'); echo '</pre>'; 回到你的问题,如果在你要发布的CLI中: tesseract document.tif result 然后在PHP中你会这样做 <?php echo '<pre>'; echo exec('tesseract document.tif result'); echo '</pre>'; 就是这样.它不是特定于tesseract,它适用于任何程序(使用CLI界面). 如果您需要更多地控制输出或输入(因为在程序运行时要求用户输入的情况),您应该使用http://ch2.php.net/manual/en/function.exec.php中的proc _ *()系列函数 祝好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |