質問

私は、画像処理における新たな、と私はイメージでQRコードを識別します。 実際には3つのファインダパターン、およびそれらを見つけるための最初のIが必要ではあります。

だから、最初の二値化と関連して、いくつかの方法を試みたが、画像は影や照明の強い差を有する場合、良好な二値画像を作成することは困難です。 実際に適応thersholdは大きなバーコードのためによくないかもしれスライディングウィンドウのサイズに依存します。だから私は良いバイナリイメージを作る場合でも、あなたは私のバーコードのファインダパターンやバーコード自体を発見する方法を提案することができます。我々はQRコードについて話す場合の最も簡単な方法は、画像のすべての輪郭を検索し、正方形や内部inlude 2つの正方形の輪郭であるものを選択することです。

また別の方法は、正しいファインダーパターンを見つけるために、画像の各水平ラインを走査することであり、それは二値画像が行われたどれだけに依存します。

私はこの問題を解決する方法を参照してください、私は知りたいので、バーコードのファインダパターンを見つけるの任意の他のさまざまな方法があるのですか?私は、パターンマッチングはここで良いではないと思います。あなたはまた、照明に依存しない優れた二値化方法を、提案することができます。私は多くの適応閾値二値化方法を試してみましたが、画像は大きな黒い四角が含まれている場合、それらは、共通の問題を持って、バイナリイメージは、全体の正方形を持っていないでしょうが、広場の中央に白い色のいくつかの部分の正方形、この適応閾値方法でスライディングウィンドウのサイズが大きいだけでは不十分であるためです。

役に立ちましたか?

解決

ます。http://コード

あなたはZXingによって使用される方法を見ることができます.google.com / P / zxing /ソース/閲覧/トランクのコアの下に/ srcに/ COM /グーグル/ zxing / QRコード/ Detector.java

基本的には約1で黒 - 白 - 黒 - 白 - 黒のために画像を横切って見える:1:3:1:1のパターン。回転の角度は、45、135、225、又は315度付近であり、コードがない限り厳しく透視歪んでない限り、この方法は、ファインダパターンを見つけます。またその後、クロスチェックカップルの方法 - 縦画像のその時点でのルックスは、それはまた、このようなパターンを発見し確認します。また、偽陽性を捨て、その後、これはどのパターンかを決定するためにさらにいくつかのチェックを持っています。

他のヒント

また、変更管理の割合でしきい値ヒステリシスを試みることができます。ここでは、通常のスレッショルドヒステリシスするへのリンクです。典型的な白の値への第一の閾値を設定してください。コーナーで最も低い白値以下に第二の閾値を設定します。

違いは、第一および第二の閾値の間のすべての値のために画素の差分を確認したいということです。差が正であれば理想的には、その後、正常に動作します。しかし、それが負の場合の差が小さい場合は、あなただけのしきい値にしたい。

これは、照明変化を補償することができるであろうが、背景とバーコードとの間の大きな変化を無視します。最終結果は、バイナリオブジェクト画像ではなく、エッジの画像です。また、何の適応しようとするウィンドウとサイズが正しくありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top