Obecnie rozwijam skaner, który odczytuje wiele kodów QR znalezionych w jednym obrazie. Udaje mi się odczytać kody QR na obrazie, ale daje to niespójne wyniki. Zakładając, że na obrazie znajdują się 4 kody QR, czasami mogę odczytać 2, a czasem 3 lub po prostu 1. W przeciwieństwie do oryginalnego skanera (skaner ZXing) dekoduje się szybko. W moim przypadku muszę się upewnić, że jest wystarczająco dużo światła i obraz nie jest rozmazany, aby go zdekodować.Jak odczytywać wiele kodów QR z jednego obrazu za pomocą biblioteki zxing
Używam QRCodeMultiReader
do odkodowania obrazu. Obecnie używa biblioteki ZXing
do tworzenia aplikacji.
Poniżej znajduje się fragment mojego kodu:
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);
}
mają znaleźć żadnego idealne rozwiązanie, aby przeczytać wiele kodów kreskowych?/ –
niestety Nie dlatego, że zatrzymujemy rozwój tej funkcji. Ale nadal będę znajdował rozwiązanie tego problemu, szczególnie, że jestem z powrotem w Androidzie. –
ok czy możesz mi udostępnić kod, który już wypróbowałeś? –