今のところ、Android VisionがQRコードを検出すると、コードのコーナーポイントを含む配列 "Barcode.cornerPoints"が一見無作為な順番で配置されます。私は、4つのコーナーポイントのうち3つのポイントに "方位の四角"が含まれているかを判断する必要があります。QRコードの方向コーナー
私が使用している現在のアプローチは非常に不満足である:すべての検出されたQRコードの場合
、私は、ビットマップを作成し、別のライブラリ(Zxing)で再度QRコードを見つけようとすることを強制していますそれは常に回転に関して一貫した順序でコーナー点を返す。
ZxingがQRコード(悲しいことに5回のうち約4回は起こらない)を見つけたら、Zxing-cornerをAndroid Visionのコーナーとクロスチェックして一致させる必要があります。
オリエンテーションに関して「Barcode.cornerPoints」という配列を作成することをお勧めします。私は今しばらく帖のために、この問題への巧妙な回避策を見つけようとしてきたが、私は何か良い解決策を考え出すことはできません
cornerPoints[0] = //First corner-point with an orientation square
cornerPoints[1] = //Second corner-point with an orientation square
cornerPoints[2] = //Third corner-point with an orientation square
cornerPoints[3] = //The corner-point that does not contain a orientation square
、例えば:と明確にするため
それは私がそれを拡張することはできませんので、私はそれを拡張することはできません...
何か助けがありますか?
https://github.com/googlesamples/android-vision/issues/103
なぜ方形が必要ですか?私の推測では、バーコードのコンテンツを取得するための「Vision API」は機能検出ではないということです。あなたはOpenCVを見ましたか? –
1)コードを読んだあと、qrコードの右にいくつかのトリミングと画像編集を行うため、周囲との相対的なqrコードの向きを知る必要があります。コーナーの向きを知らなければ、どのエリアがqrコードの右側にあるのかを知ることは不可能です。 2)おそらく、Android Visionは、cornerPoints配列の任意の母集団を除いて、私のすべてのニーズを完全に満たしています。一貫して配列に移入するだけであれば、多くのアプリケーションでqrコードを方位アンカーとして使用できます。 3)いいえ、私はOpenCVをまだ見ていません – kpptron