円形画像のOCRに推奨される前処理方法


8

こんにちは、これは私のサンプル画像です。このような画像でリアルタイムに文字を検出します。

前処理なしで、元の画像でSURF、SIFT、MSER、およびテンプレートマッチングを試しました。文字を検出することはできますが、画像が変化しても、画像上の文字に多くの関心のあるポイントがないため、この機能検出方法は機能しません。精度を上げるためにどのような前処理を行うべきか、正確にはわかりません。

だから私の質問は、皆さんがより高い精度で文字検出を行うためにどのような方法を提案できるかです。

前もって感謝します。

ここに画像の説明を入力してください

回答:


8

これは私がクライアントのためにしたことです(あなたが求めていることは同じです)。

画像上の特定のタイプのパターン(または穴の中心)にアクセスできると仮定すると、常にテンプレートを検出して、反りの可能性がある場所を取得できます。

パターンマッチング

変換された画像では、2つの関心領域が定義されており、文字を読みたい領域は2つの円の間にあるトーラスであることに注意してください。この情報を使用して、逆極変換を使用してこの画像をワープし、以下を取得できます。

逆極性変換

このファイル交換ポストで、この変換のMATLABコードも提供しています

次のステップでは、テンプレートマッチングのおかげで、読み取られる文字は常に上の画像で定義されたローカル領域にあります。さて、適切な照明がある場合、文字のセグメンテーションは画像処理操作の簡単なセットにすぎません。

文字分割

最終的に取得された接続コンポーネントは、最初にトレーニングし、次に分類するために、ニューラルネットワークまたはSVMに送られます。この部分は、基本的な機械学習タスクのみで構成されています。ここでは詳しく説明しません。

イルミネーションは問題のほぼ半分を解決しているので、十分に注意してください。


答えてくれてありがとう!線形画像を取得するために逆極関数を共有することを気にしますか?
Anar Bayramov 2014

1
サンプル実装をMATLAB FileExchangeに投稿しました。あなたはここでそれを見つけることができます:mathworks.com/matlabcentral/fileexchange/48911
トルガBirdal

@TolgaBirdalキャラクターセグメンテーションの実装方法を説明することは可能ですか?
ahasbini 2017

まあ、それぞれ、それはローカルしきい値処理+接続されたコンポーネント分析+サイズフィルタリング+動的プログラミングで構成され、残りの関心領域を個々の文字に分割します。すべてのステップは説明的なものだと思います
:)

1
はい、それはそれを接続します。次に、可能な分割点を検索し、「ペンド」テキストを水平にばらばらの断片に分割できます。これにより、「p」、「e」、「n」、および「d」が生成されます。どこでそれを切り分けるかを決定するために、動的プログラミングのある形式を含む多くの手法を使用して、制約をグローバルに満たすことができます。これについては、ここでは詳しく説明しません。単純な貪欲なアプローチは、文字の幅が十分に大きく、接触するポイントが数ピクセルであるポイントからテキストをカットするだけです。
Tolga Birdal 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.