gpt4 book ai didi

qr-code - 扫描印度 aadhaar 卡中存在的二维码问题

转载 作者:行者123 更新时间:2023-12-05 06:30:59 26 4
gpt4 key购买 nike

我正在尝试使用 Zxing API 为客户在我们网站上上传的 aadhar 图像解码印度 aadhar 卡中的二维码。

如果 QR 码很大,我可以解码它并获得完整的 XML 数据。然而,尺寸较小的 QR 码不会被解码为 QR 码。它们被解码为 BarcodeFormat.UPC_E,这是一种一维条形码,不同于二维的 QR 码。因此,小型 QR 码的输出类似于 04400621,而不是预期的 XML 输出。在线工具会发生这种情况 https://zxing.org/w/decode.jspx

如果我们只裁剪 aadhar 的 QR 码部分,在线工具会解码一些小的 QR 码,但如果我们传递小图像的裁剪部分,API 将无法解码。

我正在使用 com.google.zxing.MultiFormatReader 类中的以下 API

结果解码(二进制位图图像, map 提示)

在 MultiFormatReader 库中放置断点,我可以看到 QRCodeReader 无法解码 QR 码,但是 MultiFormatOneDReader 可以解码。

因此,小 QR 码似乎被解码为 BarcodeFormat.UPC_E。

粘贴下面的代码片段:

   String filePath = "xyz";
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(filePath);
BufferedImage bufferedImage = ImageIO.read(fileInputStream);

LuminanceSource bufferedImageLuminanceSource = new BufferedImageLuminanceSource(bufferedImage);
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(bufferedImageLuminanceSource));

Map<DecodeHintType, Object> tmpHintsMap = new EnumMap<DecodeHintType, Object>(
DecodeHintType.class);
tmpHintsMap.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
tmpHintsMap.put(DecodeHintType.POSSIBLE_FORMATS,
EnumSet.allOf(BarcodeFormat.class));
tmpHintsMap.put(DecodeHintType.CHARACTER_SET, "ISO-8859-1");
tmpHintsMap.put(DecodeHintType.PURE_BARCODE, Boolean.FALSE);(tried with and without this option)

Result result = new MultiFormatReader().decode(binaryBitmap, tmpHintsMap);

最佳答案

Aadhaar 使用出于安全原因加密的安全二维码。 Link for more details

现在我们可以使用UIDAI’s windows based application读取安全二维码。

关于qr-code - 扫描印度 aadhaar 卡中存在的二维码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51946533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com