8

iOSでtesseract ocrに苦労しています。すべて正常に動作しますが、本当に遅いです。1 行の数字の認識時間は 2 ~ 3 秒です。

私はビデオストリームから読んでいます。

フォント用のカスタム トレーニング ファイルで tesseract 3.01 を使用しています。

これが私がすることです:

数字 (0-9) を見つけるためだけに tesseract を設定する

  1. イメージの縮小、傾き補正、および 2 値化
  2. GetLinesテキストが必要な行を見つけるために使用します
  3. setRectangle必要な行だけを認識する
  4. getUTF8Textテキストを取得するには<- これだけでも 2 ~ 3 秒かかります

プロセスをスピードアップするための提案はありますか?

4

2 に答える 2

7

tesseract 3.02 の SVN に切り替えました

クロスコンパイルでいくつかの問題が発生した後、

getUTF8Text では約 1.2 ~ 0.8 秒、画像の前処理では 0.3 ~ 0.2 秒に短縮されました。

私はいくつかのテストをしました

  • 二値化と 0.7 の縮小は 0.3 秒増加しますが、0.1 のコストがかかります
  • chop_enable=0 は、プロファイリングされた場合、CPU 使用率の 50% をカウントしますが、平均で 0.1 の速度向上について速度にほとんど影響しません

使いやすさの主な利点は、境界が正しくないと思われる場合に setRectangle が getUTF8Text を呼び出さないようにコードを最適化することでした。また、受信した文字列をチェックしていくつかのアルゴリズムを適用することにより、文字列の後処理を行い、tesseract から最も一般的な誤解を排除します。

多分これは他の誰かに役立つでしょう。

于 2012-07-27T13:56:11.817 に答える
0

試してみたいことの 1 つは、バックグラウンドで実行することです。認識速度が向上するわけではありませんが、ユーザーに別の操作をさせることで、認識速度が向上する可能性があります。もちろん、これはユースケースによって異なります(私は予想よりも早く開始しただけで、非常に高速に見えるため、これは素晴らしい改善である場合があります)。秘訣は、iOS アプリは実際のパフォーマンスではなく、知覚されるパフォーマンスに関するものだということです (ただし、知覚されるパフォーマンスには当然大きな影響があります)。

于 2012-08-21T10:18:04.690 に答える