[英]ZXing QR reader library for Android reading painfully slow
我試圖閱讀條形碼的幫助,如果ZXing庫為Android。 在我的應用程序中,當我單擊一個按鈕時,我被帶到條形碼閱讀器活動,我在ZXing閱讀器的幫助下閱讀代碼。 我的應用程序此時可以成功讀取QR碼,但問題是我必須每次都將相機保持在一定距離/角度(不是固定btw)。 所以當我閱讀二維碼時,我正在經歷一次迷你鍛煉(誇張)。 此外,我嘗試打開閃光燈,但是當我這樣做時,閱讀一個變得更加困難。 我有用戶移動視覺庫,這是非常快,但此時它沒有閃光燈支持(或者我可能沒有找到如何打開閃光燈)。
我猜我的問題與決議有關。 條形碼從使用熱敏打印機的機器打印,分辨率非常低。 由於我無法改變打印機的分辨率,有沒有辦法降低ZXing讀取條形碼的分辨率?
(PS我得到了較低分辨率的想法,因為Mobile Vision讓我們改變了分辨率,而且我的讀取分辨率更高了)。
如果有辦法打開閃光燈,我寧願使用Mobile Vision。
我的條形碼閱讀類代碼看起來像這樣
private ZXingScannerView mScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mScannerView = new ZXingScannerView(this);
mScannerView.setAutoFocus(true);
//mScannerView.setFlash(true);
setContentView(mScannerView);
}
@Override
protected void onResume() {
super.onResume();
mScannerView.setResultHandler(this);
mScannerView.startCamera();
}
@Override
protected void onPause() {
super.onPause();
mScannerView.stopCamera();
}
@Override
public void handleResult(Result result) {
if (result.getText() != null) {
Intent qrCodeIntent = new Intent();
qrCodeIntent.putExtra("barcode", result.getText());
setResult(CommonStatusCodes.SUCCESS, qrCodeIntent);
Log.v("Code", result.getText());
Log.v("Code Format", result.getBarcodeFormat().toString());
mScannerView.stopCamera();
finish();
}
}
如果我沒記錯的話,默認情況下,ZXing會使用所有格式的過濾器來檢查圖像。 我的意思是,它首先掃描是否是,例如,EAN13,而不是它是UPC-A,依此類推,直到它進入QR解析器。 可以將特定解碼器設置為ZXing的掃描視圖。 我相信它會加快掃描過程。
通過設置以下內容,我獲得了更快的體驗。 我需要二維碼掃描。 所以,我設置了IntentIntegrator.QR_CODE 。
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE);
integrator.setPrompt("Scan");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
integrator.setOrientationLocked(true);
integrator.initiateScan();
我還從清單中刪除了相機自動對焦。
NB我正在使用這個庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.