私は現在、下記のようにQRコードを読み取ることができるスキャナが必要な状況に陥っています。これが問題を提起する理由Androidで低コントラスト(3D)のQRコードを読む
あなたはすぐに見ることができます。 「通常の」QRコードは、コントラストを最大にするために、通常、白い背景(またはそれの変形)上に黒く印刷されています。これらの「印刷された」QRコードはほとんど提供しません。私はQRコードとバックグラウンドのできるだけ多くの違いを表示するためにこれらを最適化しようとしましたが、これは実際に私の歯車の中にはありません。私はアウトラインを抽出するために特定のフィルタを適用するためのいくつかのOpenCVリファレンスを見つけましたが、結果が多く残されていることは恐れられます。
最後の2つの画像は、コンピュータの視覚にとどまらず、人間の目でほとんど認識できません。理想的な状況では、最後の画像は完全に白く、ほぼ完全に黒いQRコードでなければなりません。
スキャナの実際の実装に関して、私は既に下記のSDKを試しましたが、QRコードからの応答が得られませんでした。
- Mobile Vision APIは(Googleのサービスを再生する)
- ZXing SDK
- Anyline SDK
- ZBar
私の質問は、要するに、次のとおりです。
私ができるフィルタリングのいくつかの種類がありますそれはQRコードをより読みやすくするか、そうであるようにする私はフィルタを使用する代わりに他の方法を使用します。
コントラストをさらに上げてから、イメージを反転してください。結果画像をダウンロードし、Paint.NETでコントラストを100にして反転させ、QRコードを自分の電話機(Mandochef)でスキャンしました。 – Martheen