在Android中,使用ZXing,我们可以通过手机摄像头扫描QR码并对其进行解码。在Android应用程序中解码QR码?
但是,在我的情况下,QR码图像存储在手机本身,我需要解码它。
有没有办法以这种方式解码QR码?
在Android中,使用ZXing,我们可以通过手机摄像头扫描QR码并对其进行解码。在Android应用程序中解码QR码?
但是,在我的情况下,QR码图像存储在手机本身,我需要解码它。
有没有办法以这种方式解码QR码?
您可以使用ZXing代码。
captureActivity从相机捕获QR码图像,解码后会根据QR码中存储的数据类型显示结果。例如如果网站URL使用QR码编码,结果屏幕将会有一个按钮来打开该URL和likevise。 我需要从SD卡读取图像,对它进行解码并以相同的方式处理输出zxing在通过captureActivity解码的情况下。 在“结果结果”中输出结果后需要做什么? – 2012-03-28 12:33:36
@CoolZeroInfinity你完成了吗?你能分享吗? – Erum 2015-01-27 12:22:53
您可以简单地使用Mobile Vision API解码来自Image的QR码。它非常准确,可以在图像上检测多个Qr码。
你必须包括以下库序使用移动愿景API:
编译“com.google.android.gms:发挥服务视觉:9.6.1”
BarcodeDetector detector =
new BarcodeDetector.Builder(context)
.setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE)
.build();
if(!detector.isOperational()){
Log.d("QR_READ","Could not set up the detector!");
}
Frame frame = new Frame.Builder().setBitmap(bitmap).build();
SparseArray<Barcode> barcodes = detector.detect(frame);
Log.d("QR_READ","-barcodeLength-"+barcodes.size());
Barcode thisCode=null;
if(barcodes.size()==0){
Log.d("QR_VALUE","--NODATA");
}
else if(barcodes.size()==1){
thisCode = barcodes.valueAt(0);
Log.d("QR_VALUE","--"+thisCode.rawValue);
}
else{
for(int iter=0;iter<barcodes.size();iter++) {
thisCode = barcodes.valueAt(iter);
Log.d("QR_VALUE","--"+thisCode.rawValue);
}
}
我可能建议Google搜索?我很确定那里有图书馆。 – 2011-03-02 18:00:17
有库可通过相机扫描QR码。但我的要求有点不同。 – Veera 2011-03-02 18:06:10
Veera,您可以使用ZXing代码从位图执行此操作,而不是根据我的答案执行相机操作。 – 2011-03-02 18:48:24