Cómo leer varios códigos qr de una imagen usando la biblioteca zxing

Actualmente estoy desarrollando un escáner que lee varios códigos QR encontrados en una imagen. Consigo leer los códigos QR en la imagen, pero me está dando resultados inconsistentes. Suponiendo que hay 4 códigos QR en la imagen, a veces puedo leer 2 ya veces 3 o sólo 1. A diferencia del escáner original (escáner ZXing), se decodifica rápidamente. Mientras que en mi caso, tengo que asegurarse de que hay suficiente luz y la imagen no está borrosa para decodificarlo.

Estoy utilizando el QRCodeMultiReader para decodificar la imagen. Actualmente, utiliza la biblioteca de ZXing para crear la aplicación.

A continuación se muestra el fragmento de mi código:

 public void onPictureTaken(byte[] data, Camera camera) { BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inMutable = true; Bitmap bitmap = BitmapFactory .decodeByteArray(data, 0, data.length, opt); Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>(); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); LuminanceSource source = new RGBLuminanceSource(bitmap); QRCodeMultiReader multiReader = new QRCodeMultiReader(); Result[] results = multiReader.decodeMultiple(new BinaryBitmap( new HybridBinarizer(source)), hints); } 

Hola, por favor, compruebe en la aplicación de escáner de código de barras Zxing que tiene opción en Configuración para escanear códigos de barras a granel para que lo habilite y comprobarlo u puede leer varios códigos QR a la vez de una o más imágenes y también comprobar el código fuente de la biblioteca Zxing a Conocido La información detallada.

https://code.google.com/p/zxing/

He creado una aplicación para la cámara que he utilizado intent como la aplicación de cámara por defecto está allí con todos los sistemas operativos Andriod y, en general, están mejor optimizados para ese dispositivo de escribir una aplicación genérica de la cámara que sería optimizado para su teléfono sólo … por lo que Mejor uso de la cámara.

Para extraer múltiples QR de una sola imagen he probado el código de abajo.
Pero los resultados no son consistentes algún tiempo me dan 1 o 2 o 3 de 4 algún tiempo ninguno …. no es su solución perfecta

 if(photo == null) return; Bitmap ScaledQr = null; ScaledQr = Bitmap.createScaledBitmap(photo, 640,480, false); BinaryBitmap Qr = BitMap2BinayBitmap(ScaledQr); Result [] kpResultMulti = null; Result kpResultSingle = null; Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>(); hints.put(DecodeHintType.TRY_HARDER, true); //hints.put(DecodeHintType.PURE_BARCODE, true); try { kpResultMulti = kpReaderArr.decodeMultiple(Qr,hints); } catch (NotFoundException e) { // TODO Auto-generated catch block msbox("Exception","NotFoundException"); e.printStackTrace(); } if(kpResultMulti != null){ msbox("Total Result" ,kpResultMulti.length +"");// + photo.getWidth() + "Height=" + photo.getHeight()); for(Result kp : kpResultMulti) { msbox("Results",kp.getText()); } } 
  • Uso de zxing Barcode Scanner dentro de una página web
  • ¿Cómo abrir la pantalla de escaneo "zxing Barcode" en una pequeña ventana?
  • Cámara Android centrada sólo una vez
  • Uso de ZXing para crear una aplicación de escaneo de códigos de barras Android
  • Cómo integrar Zxing Barcode Scanner sin instalar la aplicación real zxing (no se puede resolver el símbolo: .android.CaptureActivity)?
  • Mi sentencia java if no parece estar funcionando
  • Escáner de código de barras ZXing en diseño personalizado en fragmento
  • Escáner de código de barras ZXing Propósito: set DecodeHintType.ASSUME_GS1
  • ZXing doble imagen / superposición después de escanear
  • Crear / Generar código de barras usando Zxing en Android
  • Cómo agregar un logotipo al código QR en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.