Android扫码优化(一)-openCV 官方Demo配置

背景

目前主流的扫码框架主要是ZXing和Zbar两种。ZXing是Google官方的二维码扫码库,Zbar是第三方开发者提供的(已经没人在维护)。对于App日常的一些扫码需求,不管是ZXing还是Zbar都能满足。但是碰到一些特殊的场景,ZXing和ZBar识别率就不高。这些场景包括:

  • 二维码灰色比较模糊

  • 大角度斜扫二维码

  • 由光源引发的摄像头干扰,比如手机扫描屏幕上的二维码会出现条纹或者噪点

下图就是一张模糊样图,读者可以自行用市面上主流的App扫码测试。

灰色二维码.png

对于此种问题,就必须结合openCV处理了。

使用

OpenCV官方介绍:

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

sdk下载地址:https://opencv.org/releases/

操作步骤:

  • AS新建一个项目,将/sdk/java当作module引入,由于 OpenCV 库的版本一般情况下和你的工程的版本号不同,所以需要把 OpenCV 库目录下的 build.gradle 中的编译版本,构建版本等参数设置成和工程一样。

  • app主工程引入/samples随意一工程的代码,build之后会提示需要安装OpenCV Manager apk。实际项目中,不可能同时需要用户同时安装两个apk。 为了解决这个问题需要引入/sdk/native/libs下面的.so文件,执行成功发现不再需要安装OpenCV Manager apk了。

Demo地址:https://github.com/gongchaobin/openCVDemo.git

你可能感兴趣的:(Android扫码优化(一)-openCV 官方Demo配置)