# WeChatQRCode
[![Download](https://img.shields.io/badge/download-App-blue.svg)](https://raw.githubusercontent.com/jenly1314/WeChatQRCode/master/app/release/app-release.apk)
[![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314.WeChatQRCode/wechat-qrcode)](https://repo1.maven.org/maven2/com/github/jenly1314/WeChatQRCode)
[![JitPack](https://jitpack.io/v/jenly1314/WeChatQRCode.svg)](https://jitpack.io/#jenly1314/WeChatQRCode)
[![CI](https://travis-ci.com/jenly1314/WeChatQRCode.svg?branch=master)](https://travis-ci.com/jenly1314/WeChatQRCode)
[![CircleCI](https://circleci.com/gh/jenly1314/WeChatQRCode.svg?style=svg)](https://circleci.com/gh/jenly1314/WeChatQRCode)
[![API](https://img.shields.io/badge/API-21%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=21)
[![License](https://img.shields.io/badge/license-Apche%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
WeChatQRCode 一个基于OpenCV开源的微信二维码引擎移植封装的二维码识别库。
<html>
<table style="margin-left: auto; margin-right: auto;">
<tr>
<td>
又一个扫码相关的轮子,之所以说又,是因为这样的轮子已经开源三个了;几个轮子之间的优缺点,各有千秋,请自寻选择(小孩子才做选择)。
<p>
<p><strong> 基于ZXing的扫码轮子 <a href="https://github.com/jenly1314/ZXingLite" target="_blank">ZXingLite</a> </strong>
<p><strong> 基于MLKit的扫码轮子 <a href="https://github.com/jenly1314/MLKit" target="_blank">MLKit</a> </strong>
<p><strong> 基于OpenCV的扫码轮子 <a href="https://github.com/jenly1314/WeChatQRCode" target="_blank">WeChatQRCode</a> </strong>
</td>
<td>
<img src="https://img.picgo.net/2024/01/28/056c87392d980a097b470b5cd48a6660919a84a17cd9a353bd775456.md.jpeg" class="none">
</td>
</tr>
</table>
</html>
## GIF 展示
![GIF](GIF.gif)
> 你可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/WeChatQRCode/master/app/release/app-release.apk) 体验效果
## 各Module相关说明
### [app](app)
示例App:主要用于提供WeChatQRCode的演示效果
### [opencv](opencv)
OpenCV:编译好的OpenCV
### [opencv-armv7a](opencv-armv7a)
OpenCV:**armeabi-v7a** 的libopencv_java4.so
### [opencv-armv64](opencv-armv64)
OpenCV:**arm64-v8a** 的libopencv_java4.so
### [opencv-x86](opencv-x86)
OpenCV:**x86** 的libopencv_java4.so
### [opencv-x86_64](opencv-x86_64)
OpenCV:**x86_64** 的libopencv_java4.so
### [opencv-qrcode](opencv-qrcode)
OpenCV二维码识别:封装好的API,通过 **OpenCVQRCodeDetector** 你可以很轻松的拥有OpenCV中开源的二维码识别功能
### [opencv-qrcode-scanning](opencv-qrcode-scanning)
OpenCV二维码扫码:有了上面的OpenCV二维码识别功能,基本的扫码相关界面还是需要有个的,扫码加识别完美搭配;
**opencv-qrcode-scanning** 相当于[CameraScan](https://github.com/jenly1314/CameraScan)的衍生库。
### [wechat-qrcode](wechat-qrcode)
微信二维码识别:封装好的API,通过 **WeChatQRCodeDetector** 你可以很轻松的拥有OpenCV中开源的微信二维码识别功能
### [wechat-qrcode-scanning](wechat-qrcode-scanning)
微信二维码扫码:有了上面的微信二维码识别功能,基本的扫码相关界面还是需要有个的,扫码加识别完美搭配;
**wechat-qrcode-scanning** 相当于[CameraScan](https://github.com/jenly1314/CameraScan)的衍生库。
### [Java版本(点击查看java分支)](https://github.com/jenly1314/WeChatQrCode/tree/java)
## 引入
### Gradle:
1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库
```gradle
repositories {
//...
mavenCentral()
}
```
2. 在Module的 **build.gradle** 里面添加引入依赖项
```gradle
// OpenCV基础库(*必须)
implementation 'com.github.jenly1314.WeChatQRCode:opencv:2.2.0'
// OpenCV的ABI(可选),根据你的需要选择想要支持的SO库架构(至少选一个)
implementation 'com.github.jenly1314.WeChatQRCode:opencv-armv7a:2.2.0'
implementation 'com.github.jenly1314.WeChatQRCode:opencv-armv64:2.2.0'
implementation 'com.github.jenly1314.WeChatQRCode:opencv-x86:2.2.0'
implementation 'com.github.jenly1314.WeChatQRCode:opencv-x86_64:2.2.0'
// OpenCV二维码识别功能(可选)
implementation 'com.github.jenly1314.WeChatQRCode:opencv-qrcode:2.2.0'
// OpenCV二维码扫码功能(可选)
implementation 'com.github.jenly1314.WeChatQRCode:opencv-qrcode-scanning:2.2.0'
// 微信二维码识别功能(可选)
implementation 'com.github.jenly1314.WeChatQRCode:wechat-qrcode:2.2.0'
// 微信二维码扫码功能(可选)
implementation 'com.github.jenly1314.WeChatQRCode:wechat-qrcode-scanning:2.2.0'
```
### 温馨提示
#### 关于WeChatQRCode版本与编译的SDK版本要求
> 使用 v2.1.x 以上版本时,要求 compileSdkVersion >= 34
> 使用 v2.0.x 以上版本时,要求 compileSdkVersion >= 33
> 如果 **compileSdkVersion < 33** 请使用 [**v1.x版本**](https://github.com/jenly1314/WeChatQRCode/tree/1.x/)
#### ABI过滤
在Module的 **build.gradle** 里面的 android{} 中设置支持的 SO 库架构(可选,支持多个平台的 so, 支持的平台越多,APK体积越大)
```gradle
defaultConfig {
//...
ndk {
//设置支持的 SO 库架构(开发者可以根据需要,选择一个或多个平台的 so)
abiFilters 'armeabi-v7a' // , 'arm64-v8a', 'x86', 'x86_64'
}
}
```
## 使用
### 初始化
初始化 **OpenCV** 和 **WeChatQRCodeDetector** (建议在 **MainActivity** 的 **onCreate** 方法中进行初始化)
#### 初始化OpenCV
使用版本 >= `v2.1.0`时,初始化OpenCV方式
```kotlin
//初始化OpenCV
OpenCV.initOpenCV()
```
使用版本 < `v2.1.0`时,初始化OpenCV方式
```kotlin
//初始化OpenCV
OpenCV.initAsync(context)
```
#### 初始化WeChatQRCodeDetector
在初始化OpenCV后,就可以立即初始化WeChatQRCodeDetector了。
```kotlin
//初始化WeChatQRCodeDetector
WeChatQRCodeDetector.init(context)
```
### 识别二维码
#### WeChat QRCode
识别二维码 (**wechat-qrcode**中的WeChatQRCodeDetector)
```kotlin
//识别二维码;results是一个List<String>集合,可能会有多个结果,如果只识别一个码,可以取List中第0个就可以
val results = WeChatQRCodeDetector.detectAndDecode(bitmap)
```
识别二维码并返回二维码位置信息 (**wechat-qrcode**中的WeChatQRCodeDetector)
```kotlin
// 检测结果:二维码的位置信息
val points = ArrayList<Mat>()
//通过WeChatQRCodeDetector识别图片中的二维码并返回二维码的位置信息
val result = WeChatQRCodeDetector.detectAndDecode(bitmap, points)
points.forEach { mat ->
// 扫码结果二维码的四个点(一个矩形)
Log.d(TAG, "point0: ${mat[0, 0][0]}, ${mat[0, 1][0]}")
Log.d(TAG, "point1: ${mat[1, 0][0]}, ${mat[1, 1][0]}")
Log.d(TAG, "point2: ${mat[2, 0][0]}, ${mat[2, 1][0]}")
Log.d(TAG, "point3: ${mat[3, 0][0]}, ${mat[3, 1][0]}")
}
```
#### OpenCV QRCode
识别二维码 (**opencv-qrcode**中的OpenCVQRCodeDetector)
```kotlin
val openCVQRCodeDetector = OpenCVQRCodeDetector()
//识别二维码
val results = openCVQRCodeDetector.detectAndDecode(bitmap)
```
识别二维码并返回二维码位置信息 (**opencv-qrcode**中的OpenCVQRCodeDetector)
```kotlin
// 检测结果:二维码的位置信息
val points = Mat()
//通过WeChatQRCodeDetector识别图片中的二维码并返回二维码的位置信息
val result = openCVQRCodeDetector.detectAndDecode(bitmap, points)
// 扫码结果二维码的四个点(一个四边形);需要注意的是:OpenCVQRCode识别的二维�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
opencv 基于opencv开源的微信二维码引擎移植的Android扫码识别库 基于opencv开源的微信二维码引擎移植的Android扫码识别库 基于opencv开源的微信二维码引擎移植的Android扫码识别库 基于opencv开源的微信二维码引擎移植的Android扫码识别库 基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库基于opencv开源的微信二维码引擎移植的Android扫码识别库
资源推荐
资源详情
资源评论
收起资源包目录
基于opencv开源的微信二维码引擎移植的Android扫码识别库 (665个子文件)
liblibprotobuf.a 34.14MB
liblibprotobuf.a 31.61MB
liblibprotobuf.a 22.92MB
liblibprotobuf.a 21.79MB
libopencv_dnn.a 15.55MB
libopencv_dnn.a 15.46MB
libopencv_dnn.a 13.21MB
libopencv_dnn.a 12.59MB
libopencv_imgproc.a 11.43MB
libopencv_core.a 8.09MB
libopencv_imgproc.a 7.76MB
libopencv_core.a 6.81MB
libopencv_imgproc.a 6.33MB
liblibwebp.a 5.99MB
libopencv_core.a 5.81MB
liblibwebp.a 5.69MB
libopencv_core.a 5.24MB
libopencv_calib3d.a 5.21MB
libopencv_imgproc.a 5.08MB
libopencv_calib3d.a 4.8MB
libopencv_calib3d.a 4.33MB
libopencv_calib3d.a 3.89MB
liblibjpeg-turbo.a 3.81MB
liblibwebp.a 3.66MB
liblibwebp.a 3.45MB
liblibjpeg-turbo.a 3.12MB
liblibtiff.a 2.94MB
liblibtiff.a 2.9MB
liblibopenjp2.a 2.59MB
liblibopenjp2.a 2.49MB
libopencv_objdetect.a 2.41MB
liblibjpeg-turbo.a 2.38MB
libopencv_objdetect.a 2.37MB
liblibjpeg-turbo.a 2.28MB
libopencv_objdetect.a 2.01MB
libopencv_objdetect.a 1.99MB
liblibtiff.a 1.93MB
liblibtiff.a 1.88MB
liblibpng.a 1.79MB
libopencv_features2d.a 1.77MB
libopencv_wechat_qrcode.a 1.75MB
liblibpng.a 1.75MB
liblibopenjp2.a 1.71MB
libopencv_features2d.a 1.65MB
libopencv_wechat_qrcode.a 1.63MB
liblibopenjp2.a 1.57MB
libopencv_wechat_qrcode.a 1.38MB
libopencv_features2d.a 1.35MB
libopencv_wechat_qrcode.a 1.33MB
libopencv_flann.a 1.33MB
libopencv_features2d.a 1.31MB
libopencv_imgcodecs.a 1.23MB
libopencv_flann.a 1.21MB
libopencv_imgcodecs.a 1.17MB
liblibpng.a 1.13MB
libopencv_video.a 1.11MB
liblibpng.a 1.1MB
libopencv_video.a 1.1MB
libopencv_flann.a 1.06MB
libopencv_imgcodecs.a 997KB
libopencv_videoio.a 995KB
libopencv_flann.a 987KB
libopencv_videoio.a 945KB
libopencv_imgcodecs.a 937KB
libopencv_video.a 922KB
libopencv_video.a 894KB
libopencv_videoio.a 793KB
libopencv_videoio.a 744KB
libopencv_highgui.a 473KB
libopencv_highgui.a 447KB
libopencv_highgui.a 358KB
libopencv_highgui.a 343KB
libittnotify.a 179KB
libittnotify.a 149KB
libittnotify.a 132KB
libittnotify.a 106KB
libcpufeatures.a 38KB
libcpufeatures.a 31KB
libcpufeatures.a 30KB
libcpufeatures.a 20KB
ade-LICENSE 11KB
app-release.apk 11.9MB
gradlew.bat 2KB
ittnotify-LICENSE.BSD 1KB
detect.caffemodel 943KB
sr.caffemodel 23KB
OpenCVConfig.cmake 15KB
OpenCVConfig.cmake 15KB
OpenCVConfig.cmake 15KB
OpenCVConfig.cmake 15KB
OpenCVModules-release.cmake 11KB
OpenCVModules-release.cmake 11KB
OpenCVModules-release.cmake 11KB
OpenCVModules-release.cmake 11KB
OpenCVModules.cmake 9KB
OpenCVModules.cmake 9KB
OpenCVModules.cmake 9KB
OpenCVModules.cmake 9KB
OpenCVConfig.cmake 2KB
OpenCVConfig-version.cmake 418B
共 665 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
丘比特惩罚陆
- 粉丝: 8023
- 资源: 114
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功