Мой считыватель QR-кода не может прочитать двухуровневый QR-код - PullRequest
0 голосов
/ 06 мая 2020

Я учусь java прямо сейчас. Я прочитал статью о двухуровневом хранилище сообщений в QR-коде здесь . Затем я поискал его на Github и нашел коды здесь . Автор сказал, что сообщение Publi c может прочитать любой классический считыватель QR-кода. Но я попытался прочитать сообщение Publi c из двухуровневого формата QR-кода, но результат:

com.google.zxing.NotFoundException

Это это мой метод чтения QR-кодов

public static String readQRCode(String filePath, String charset, Map hintMap)
    {
        String res="";
        try
        {
            BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(new FileInputStream(filePath)))));
            Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap,hintMap);

            res= qrCodeResult.getText();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return res;
    }

И это мой основной класс

public static void main(String[] args){
        Map hints = new HashMap();
        String charset = "UTF-8";
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        hints.put(EncodeHintType.QR_VERSION, "4");
        hints.put(DecodeHintType.PURE_BARCODE, true);
        hints.put(DecodeHintType.POSSIBLE_FORMATS, EnumSet.allOf(BarcodeFormat.class));
        String content="";
        content+=readQRCode("2LQR.jpg", charset, hints);
        System.out.println(content);
}

Это Двухуровневое изображение QR-кода . Есть ли другой способ прочитать такой QR-код? или я должен что-то изменить?

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