Saat ini saya sedang mengembangkan pemindai yang membaca beberapa kode QR yang ditemukan dalam satu gambar. Saya berhasil membaca kode QR pada gambar tetapi hasilnya tidak konsisten. Dengan asumsi ada 4 kode QR pada gambar, terkadang saya dapat membaca 2 dan terkadang 3 atau hanya 1. Tidak seperti pemindai asli (ZXing Scanner), kode ini diterjemahkan dengan cepat. Sementara dalam kasus saya, saya harus memastikan ada cukup cahaya dan gambar tidak buram untuk memecahkan kodenya.
Saya menggunakan QRCodeMultiReader
untuk memecahkan kode gambar. Saat ini menggunakan ZXing
Library untuk membuat aplikasi.
Di bawah ini cuplikan kode saya:
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);
}