8

私はこの画像を持っています

テキストが刻印された画像

それをOCRする方法は?これは非常に難しいことですが、助けていただければ幸いです。

4

4 に答える 4

2

私はあなたを動かすために2つのライブラリを提案します:

  1. 正八胞体
  2. Emgu CV-たくさんの例が付属しており、開始するのに適した場所としてナンバープレート検出を探します。
于 2012-11-29T16:29:02.350 に答える
2

自分で検出を開発する時間があれば、大まかに次のようにします。

  1. 1000枚程度の画像を取得し、それらを自分でOCRするか、Amazon Mechanical Turkのユーザーに任せてください。実質的に、費用はかかりません。これで、アルゴリズムを調整して、どれだけうまくやっているかを測定することができます。
  2. ライアンが書いたように、標準の画像フィルター、コントラスト、色、ガウスなどを手動で、またはhttp://www.roborealm.com/のようなもので遊んでください。テキストを本当に目立たせる組み合わせが見つからないかどうかを確認してください。
  3. ライブラリを再試行してください
  4. それでもライブラリが機能しない場合は、画像に関する知識を使用して、画像を別々の数字に分割してみてください。あなたは何桁あるべきか、そしてそれぞれが何ピクセルを取るべきかを知っています。エッジ検出などを使用して(おそらく、標準のOCR特徴抽出とクラスタリングを併用すると、各桁がクラスターとして提供されますか?)、桁を見つけて個別に分割します。
  5. 各桁で標準のOCR特徴抽出を実行し(あまり創造的ではありません-既存のライブラリを使用するか、少なくとも最も一般的で単純なものを読んでください)、1)で得た答えと一緒にそれらの特徴をニューラルにフィードしますネットワークまたはSVM。
  6. 機械学習が機能するまで、機能セットを改善します。

画像間でかなり一貫している10桁しかないので、これは機能するはずです。

于 2012-11-30T10:01:40.933 に答える
1

画像のコントラストとガンマで遊んでみてください。必要なのは、ほとんどのライブラリの文字のしっかりしたアウトラインです。パフォーマンスSLAに応じて、さまざまなコントラスト/ガンマシナリオを実行し、OCRソフトウェアに2、3のショットを撮らせることができます。結果の集計を取り、一貫性があるかどうかを確認します。これにより、長期的にはかなり正確な結果が得られる可能性があります。

于 2012-11-29T16:33:58.533 に答える
-1

数字の機械学習(ここでは、中立的なネットワークを使用)は通常、最小限のトレーニングですでに正確であり、使いやすいです。

1つのDIYアプローチ:

  1. いくつかのニューラルネットからの出力は???1160060060??1???である可能性があります 最初の文字。これから、最も一般的に表示される(0)を選択する必要があります。

  2. 認識された数字の順序を正しくするには、画像の幅のごく一部を切り取るように、「移動ウィンドウ」を使用します。

  3. 画像の幅全体にわたってこれを繰り返します。

最もトリッキーなビットは、1桁と次の桁の間のスペースを把握することについてである可能性が非常に高いです。

運が良ければ、数字は常に同じサイズ(モニスペース)であり、必要なピクセル数を事前に決定できます。それ以外の場合、これは通常、ピクセルをニューラルネットワークにフィードする前のキャリブレーションステップで実行できます。

画像を回転させることができる場合は、回転を理解するのに役立つ別のニューラルネットワークを用意することが実際には理にかなっているかもしれません。

プログラマー(そして私)は、1980年代にコモドールコンピューターですでに数字認識を試しました!最近では、これと同様のタスクを持つ大学のAIコースがいくつか見つかるかもしれません。

于 2016-10-15T11:36:23.083 に答える