2016-02-18 9 views
7

バーコードスキャン用のGoogle Vision APIの深い雑草に自分自身が見つかりました。おそらく私の心は、あらゆる種類の代替ライブラリ(ZBar、ZXing、さらには第三者向けの実装)を見てから少し揚げられているかもしれませんが、何らかのスキャンを実装できる場所に関する情報を見つけるのが難しいです地域限定。ビジョンAPIの制限検出エリア

ユースケースは、同じタイプの複数のバーコードが入っている箱(ここでは配送ラベルと思う)で携帯電話を指している場合、ちょっとしたファインダやアライメントをまっすぐに指しておきたい私がキャプチャしようとしているものとまったく同じ画面上に、興味のある領域以外のものを心配することなく、私が望んでいないスキャン結果をいくつか与えることができます。

上記のケースは、私が見た他のほとんどのAndroidライブラリで処理されており、相対座標または絶対座標でRectを取ります。これはiOSのAVCaptureメタデータ結果システムの一部でもあります(相対CGRect、実際は同じ概念です)。

私はバーコードリーダーのサンプルアプリケーションをかなり掘り下げましたが、実装レベルは高度な実装の詳細を得るためには不透明です。

カメラのプレビューフレーム内のどこにでもバーコードが正しく検出された場合、デバイスがまだそれらのフレームを計算するのに苦労しているので、関心のある領域外のバーコードに対して簡単なノーオペレーションには醜いパッチのようです。

私は非常にシンプルで明白な何かを欠いていますか?これをきちんと実装するためのアイディア

これを読んでいただきありがとうございます。

答えて

2

現在、APIには検出領域を制限するオプションがありません。しかし、バーコード検出器に渡す前にプレビュー画像を切り抜くことができます。あなたがカメラから受信したフレームを取るために「検出」メソッドを実装したい

Mobile Vision API - concatenate new detector object to continue frame processing

、フレームのトリミングされたバージョンを作成:独自のクラスで検出器をラップする方法の概要についてはこちらを参照してください。 、それを基礎となる検出器に通す。

+0

GoogleのモバイルビジョンAPIは無料ですか?私は顔の検出にそれを使用する必要があります。価格情報やウェブサイトのサポートに連絡する直接の手段はありません。 – techno

+0

はい、無料です。 – pm0733464

+0

これを更新していただきありがとうございます。私はあなたのアドバイスを受け取り、機能するバージョンの切り取ったスキャンエリアを持っていました。私は2つのバージョンも持っています。検出クライアントに送信されるビットマップの本当の作物です。単純な「「Rect Xはスキャン結果Rect Yの頂点を含んでいますか?」サンプルグラフィックファクトリのコールバックにあります。 –