4

Tesseractを使用して多数の画像ファイルをテキストに変換したいと考えています。

私は彼らのドキュメントを見ましたが、それがPHPにどのように関連しているか、そして私のphpスクリプトがtesseractocrとどのように相互作用するかを知りません。php exec()が道かもしれないことを示唆する他の質問を見てきました。

$img = myimage.png;
$text = exec($img,'tesseract');

tesseractをダウンロードしてインストールしました。最新バージョンのxamppがインストールされたWindows7の使用。私はPHPの初心者から中級者の知識があります。私はどのような知識を欠いていますか?

更新私は今それをpowershellとcmdで動作させています

tesseract.exe D:\Documents\Web_Development\Sandbox\php\images\23.png D:\Documents\Web_Development\Sandbox\php\images\23

しかし、私が次のようにexecを介して実行しようとすると:

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

tesseract.exeが機能しなくなったことを示すポップアップがWindowsから表示されます。誰かにとって何か意味がある場合のエラーの詳細は次のとおりです。

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
4

1 に答える 1

7

PHPなしで動作させるようにする必要があります。つまり、ms windows CLIインターフェイス(ms-dosプロンプト)から実行する必要があります。その後、CLIに入力したものをPHPランタイムに配置し、CLIまたはその他のIPCメカニズムを介して実行し、最終的に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/manualproc_*()の関数ファミリーを使用する必要があります。 /en/function.exec.php

幸運を!

于 2011-01-19T00:27:01.120 に答える