我正在使用 Vision api 来检测二维码。它适用于三星设备,但不适用于 LG 设备。两台设备都在 6.0.1 版本上运行,也没有错误。有什么建议吗?
问问题
927 次
2 回答
1
这里有一些Zxing-Library和Vision API的示例,希望对您有所帮助。
基于Zxing-Library的示例项目
虽然用于 QR 条码的Vision API试试这个
于 2017-10-04T15:34:43.300 回答
0
我遇到了在 Redmi 和 Infinix 设备上未检测到 QR 的相同问题,这是我的解决方案:
Zxing 库版本
implementation 'com.google.zxing:core:3.4.0'
只需在此函数中传递您的位图,这将返回字符串值:
public static String getQRDataFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()];
bitmap.getPixels(intArray, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
LuminanceSource source = new RGBLuminanceSource(bitmap.getWidth(), bitmap.getHeight(), intArray);
Reader reader = new MultiFormatReader();
try {
Result result = reader.decode(new BinaryBitmap(new HybridBinarizer(source)));
return result.getText();
} catch (NotFoundException e) {
e.printStackTrace();
return null;
} catch (ChecksumException e) {
e.printStackTrace();
return null;
} catch (FormatException e) {
e.printStackTrace();
return null;
}
}
于 2020-07-18T03:54:18.933 回答