zxing的核心算法在core里面,假如对图形识别算法没有研究的话,很难在核心的core里面做文章。我们可以做的,就是在外层上做一些优化。优化可以从下面几个方面来做:
- Zxing为了兼顾低端手机和节约手机性能,将扫描区域裁剪为扫描边框的大小,然而现在手机性能过剩,因此可以修改将裁剪的Rect改变为屏幕大小,从而增加扫描的速度和精度。在CameraManager.java中的buildLuminanceSource函数中直接返回全幅图像,不做裁剪。
return new PlanarYUVLuminanceSource(data, width, height, 0, 0, width, height, false);
- 缩短自动对焦的时间间隔
private static final long AUTO_FOCUS_INTERVAL_MS = 1000L;
- 取消扫描完成之后的预览图绘制,在scannerView.java中注释以下代码:
// if (barcode != null) { // mViewfinderView.drawResultBitmap(barcode); // }