Android Vision API:读取所有条形码,包括重复的条形码

时间:2016-08-26 16:36:01

标签: android android-vision

我们正在使用此代码读取包含25个条形码的文件的所有条形码。它返回23个,因为两个条形码是重复的。我们知道这种解决方案会消除重复。是否有任何解决方案可以避免重复值的删除?我们需要阅读所有这些,甚至重复。

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

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

2 个答案:

答案 0 :(得分:1)

不幸的是,API仅返回每个唯一值的单个条形码结果。这是因为条形码值用于在构造返回值时计算SparseArray索引。

对于想要重复的结果,您有什么样的用例?

答案 1 :(得分:0)

似乎直接分配给SparesdArray会导致冲突以删除重复的值。

请尝试以下代码:

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

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

希望这有帮助。