0

このコードを使用して、25 個のバーコードを含むファイルのすべてのバーコードを読み取ります。2 つのバーコードが重複しているため、23 個が返されます。このソリューションが重複を消去することを理解しています。重複した値の消去を回避する解決策はありますか? 重複も含めてすべて読む必要があります。

Bitmap myBitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(),
  R.drawable.asuscode);

Frame frame = new Frame.Builder().setBitmap(myBitmap).build();
SparseArray<Barcode> barcodes = barcodeDetector.detect(frame);
4

2 に答える 2

1

残念ながら、API は一意の値ごとに 1 つのバーコード結果しか返しません。これは、戻り値を作成するときにバーコード値を使用して SparseArray インデックスを計算するためです。

複製された結果が必要な場合、どのようなユースケースがありますか?

于 2016-09-07T15:37:17.393 に答える
0

SparesdArray への直接割り当ては、重複した値を削除するための衝突につながるようです。

以下のコードを試してください。

SparsedArray<BarCode> myBarcode = new SparsedArray<Barcode>();
int i = 0;

for (Barcode barcode : barcodeDetector.detect(frame)) {
    myBarCode.put(i, barcode);
    i++;
}

お役に立てれば。

于 2016-08-26T18:40:40.117 に答える