MultiFormatReader не может прочитать qr, хотя qr можно сканировать - PullRequest
1 голос
/ 27 апреля 2020

Прикрепленное мной изображение qr можно сканировать (используя ZXingScannerView (библиотека github https://github.com/dm77/barcodescanner для android) или другое приложение для сканирования QR-кода), но MultiFormatReader выдает NotFoundException, когда я выбираю это изображение из хранилища, чтобы сканировать его. Я просто хочу отсканировать код qr из хранилища. и что изображение QR-кода будет иметь почти такое же качество, как и изображение, которое я прикрепил

это код qr, который я хочу сканировать я пробовал приведенный ниже код, который он дает NotFoundException.

public static String scanQRImage(Bitmap bMap) {
String contents = null;

 if (bMap.getHeight() > 500 && bMap.getWidth() > 500)
     bMap = Bitmap.createScaledBitmap(bMap, bMap.getWidth() - 300, bMap.getHeight() - 300, false);

 int[] intArray = new int[bMap.getWidth() * bMap.getHeight()];

 //copy pixel data from the Bitmap into the 'intArray' array
 bMap.getPixels(intArray, 0, bMap.getWidth(), 0, 0, bMap.getWidth(), bMap.getHeight());

 LuminanceSource source = new RGBLuminanceSource(bMap.getWidth(), bMap.getHeight(), intArray);
 BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

 Reader reader = new MultiFormatReader();
 Map<DecodeHintType, Object> tmpHintsMap = new EnumMap<>(
         DecodeHintType.class);
 tmpHintsMap.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
 tmpHintsMap.put(DecodeHintType.POSSIBLE_FORMATS,
         EnumSet.allOf(BarcodeFormat.class));
 tmpHintsMap.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);
 try {
     Result result = reader.decode(bitmap, tmpHintsMap);
     contents = result.getText();
 } catch (Exception e) {
     Log.e("QrTest", "Error decoding barcode", e);
 }
 return contents;
} 

еще раз простыми словами. Я хочу отсканировать немного искаженное изображение кода QR, присутствующее в хранилище. Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...