这是android部分代码
## 基本介绍
**此文档是**《[OCR文字识别实战教程-零基础](https://www.bilibili.com/video/BV1RK411b7DU/),SpringBoot结合PaddleOCR》实现 车牌识别、文本识别、身份证识别 地址:[https://www.bilibili.com/video/BV1RK411b7DU/?vd_source=b4307343204f5c0271966f7fe276f0eb](https://www.bilibili.com/video/BV1RK411b7DU/?vd_source=b4307343204f5c0271966f7fe276f0eb),**教程对应的部分文档,全部文档共89页,剩余文档和完整源代码 请关注B站视频**
### 效果演示
![image](https://github.com/CoderBigL/ocr-api/assets/29909236/26133601-4a3b-4b1e-b8fa-b2167c14c6b5)
上面的图片为Android APP 的界面,从左边开始,分别为主界面、拍照界面、识别及结果界面。
### 架构说明
OCR实战项目整体架构图如下:
![ocr实战架构图.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/13011155/1696646802468-b02332df-5f76-4549-8e37-cbc4f86b5ae2.jpeg#averageHue=%23f7e6ce&clientId=u636b264f-584e-4&from=drop&id=KweBU&originHeight=765&originWidth=1624&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=119499&status=done&style=stroke&taskId=udd041dbf-133c-4760-8f42-b0ed2aef5f8&title=)
- APP/WEB/小程序为OCR识别接口调用端,调用OCR接口,实现OCR功能。本项目我们只实现Android APP开发。
- Nginx反向代理和负载均衡功能,通过Nginx实现对外网暴露接口,对内负载均衡SpringBoot实现的OCR服务。
- OCR服务通过Springboot实现,主要功能是提供具体的OCR接口实现,其流程是调用内部PaddleOCR服务,解析和处理返回结果,最终返回结果给接口调用者。为了稳定性和安全性,添加了熔断限流、Token认证功能。为了方便部署,会以Docker形式部署该服务。
- PaddleOCR是OCR识别的具体实现,会提供一个OCR识别接口,供内部调用。由于不同的部署方式(普通部署和paddleocr serving方式部署),PaddleOCR在普通部署方式下,无法利用CPU多核(Servering方式不存在该问题),因此会在同一个服务器部署多个实例,解决CPU利用率差以提升性能。为了方便PaddleOCR部署,会以Docker形式部署。后边会讲解普通方式部署和Servering方式部署,如何构建docker镜像及部署流程。
### 主要技术栈
- 开发语言:java、python(不需要python基础)
- springboot 实现业务接口
- python flask 实现识别接口
- Sentinel限流熔断
- JWT Token 认证
- PaddlePaddle
- PaddleOCR
- Nginx 反向代理和负载均衡
- Docker 镜像制作及部署服务
- Android 原生开发
本课程我们将借助PaddleOCR 和 PP-OPCRv4/3 实现文本识别、车牌识别、身份证识别。**本课程不涉及算法、模型训练等知识**,使用PaddleOCR提供的训练好的模型,没有晦涩难懂的技术,小白也能轻松入手。
**文档中的代码会和实际源代码有细微差别,以源代码为准(对实际学习不会有任何影响)**
## PaddleOCR介绍
PaddleOCR是一款由百度开发的OCR(光学字符识别)工具库。它旨在为开发者提供一套丰富、领先、且实用的OCR工具,以帮助他们训练出更好的模型并应用于实际场景。
PaddleOCR具有以下特点:
1. **超轻量模型:PaddleOCR采用了轻量级模型,以便在移动设备和嵌入式设备上运行。**
2. 通用识别大模型:除了轻量级模型外,PaddleOCR还提供了通用识别大模型,以适应更多的应用场景。
3. 算法丰富且开源:PaddleOCR集成了多种与OCR相关的前沿算法,并进行了开源,以便更多的开发者可以共享和使用。
4. 支持自定义训练:**开发者可以根据自己的需求,使用PaddleOCR提供的工具和框架自定义训练模型**。
5. 支持C++预测、**端侧部署、服务部署**:PaddleOCR不仅支持C++预测,还支持在端侧和服务上进行部署,具有很好的灵活性和可扩展性。
6. 行业特色模型:PaddleOCR开发了具有行业特色的模型PP-OCR和PP-Structure,并打通了数据生产、模型训练、压缩、预测部署的全流程。
总的来说,PaddleOCR是一款功能强大、实用便捷的OCR工具库,它提供了一系列前沿的算法和自定义训练的支持,旨在帮助开发者更好地应用OCR技术于各种实际场景中。
github:[https://github.com/PaddlePaddle/PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)
### PaddleOCR应用场景
表单识别、票据识别、电表识别、车牌识别、身份证&银行卡、手写体识别、化验单识别 等等
### PP-OCRv4模型
PP-OCRv4提供一套通用的OCR识别模型,可以识别多语言的文字,在速度和精度上都达到了比较好的效果。**不指定模型版本,会默认下载最新的模型(PP-OCRv4)。**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1696660796752-e0e7fbfe-a7d2-4a4d-b723-5be3acdb1c54.png#averageHue=%23fdfbf9&clientId=u88108e0d-ebc3-4&from=paste&height=178&id=uc93ac964&originHeight=222&originWidth=1063&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=53332&status=done&style=stroke&taskId=u953e9495-ff56-4225-876a-c4dd72fd466&title=&width=850.4)
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1696660900341-518393e6-3b7f-4e93-b418-70025383bb3c.png#averageHue=%23e2c192&clientId=u88108e0d-ebc3-4&from=paste&height=351&id=u89ef8177&originHeight=439&originWidth=1086&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=90505&status=done&style=stroke&taskId=u41031e8f-3dd2-44a7-b74f-b3fb13323bf&title=&width=868.8)
具体参考[https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/models_list.md](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/models_list.md)
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1696661594456-23365665-dd84-4987-bf8b-05931c1c50cb.png#averageHue=%23e1ba82&clientId=u88108e0d-ebc3-4&from=paste&height=265&id=u2bec5a40&originHeight=331&originWidth=1283&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=57989&status=done&style=stroke&taskId=ua44e41a4-0dc6-40a4-a271-8a070a32745&title=&width=1026.4)
使用时,我们只需要下载推理模型即可。
下载模型后,解压放到对应目录即可,windows为C:\Users\用户\.paddleocr\whl ,
linux为用户目录下\.paddleocr\whl
## PaddleOCR环境搭建
### windows下环境搭建
#### 安装python
下载安装包:[https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe](https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe)
**1.双击安装包进行安装**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1695289511906-855c21a3-5239-4e86-8187-bb00b3cb62dc.png#averageHue=%23fdefef&clientId=uff2457c5-bf3f-4&from=paste&id=ud8d30d63&originHeight=98&originWidth=702&originalType=url&ratio=1&rotation=0&showTitle=false&size=11332&status=done&style=stroke&taskId=u60151448-d925-49bc-8ddf-68a6546c1c5&title=)
**2.勾上Install launcher for all users 和 Add Python 3.8 to PATH**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1695289512165-bcfc87d4-acae-485b-9c94-e9791c652f7c.png#averageHue=%23f9f3ee&clientId=uff2457c5-bf3f-4&from=paste&id=u2d86bbb6&originHeight=491&originWidth=829&originalType=url&ratio=1&rotation=0&showTitle=false&size=199823&status=done&style=stroke&taskId=u1fe0e841-0f36-4a9b-9526-31089e035a8&title=)
**3. 可以选择默认安装,也可以选择自定义安装。选择自定义安装如下:**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/1695289512159-cd57d022-9ef8-464e-890d-5ef05383c82c.png#averageHue=%23f9f7f2&clientId=uff2457c5-bf3f-4&from=paste&id=ue7338570&originHeight=507&originWidth=830&originalType=url&ratio=1&rotation=0&showTitle=false&size=180486&status=done&style=stroke&taskId=uf60ecf95-3bcd-4ed4-b1a8-0d6be160333&title=)
保持默认,点击next
![image.png](https://cdn.nlark.com/yuque/0/2023/png/13011155/169528951218
没有合适的资源?快使用搜索试试~ 我知道了~
android-ocr-master,android-ocr-master
共46个文件
xml:23个
png:14个
java:5个
0 下载量 117 浏览量
2024-03-28
22:01:03
上传
评论
收藏 125KB ZIP 举报
温馨提示
android-ocr-master,android-ocr-master
资源推荐
资源详情
资源评论
收起资源包目录
android-ocr-master.zip (46个子文件)
android-ocr-master
app
src
androidTest
java
com
nmw
ocrcamera
ExampleInstrumentedTest.java 705B
test
java
com
nmw
ocrcamera
ExampleUnitTest.java 378B
main
java
com
nmw
ocrcamera
constant
OcrConstants.java 2KB
OcrResultActivity.java 12KB
MainActivity.java 8KB
res
anim
anim_scan_up_down.xml 373B
mipmap-xxhdpi
ic_launcher_round.png 10KB
ic_launcher.png 6KB
mipmap-hdpi
ic_launcher_round.png 5KB
ic_launcher.png 3KB
drawable-v24
copy.png 2KB
saomiao.png 4KB
ic_launcher_foreground.xml 2KB
back.png 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
mipmap-mdpi
ic_launcher_round.png 3KB
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher_round.png 15KB
ic_launcher.png 9KB
mipmap-xhdpi
ic_launcher_round.png 7KB
ic_launcher.png 4KB
xml
network_security_config.xml 146B
file_paths.xml 183B
values
colors.xml 299B
strings.xml 277B
styles.xml 965B
layout
activity_ocr_result.xml 3KB
activity_main.xml 3KB
drawable
ic_launcher_background.xml 5KB
btn_bg_selected.xml 322B
btn_bg_normal.xml 515B
btn_bg_pressed.xml 515B
btn_circle_bg_normal.xml 509B
ic_camera.xml 1KB
btn_circle_bg_pressed.xml 510B
btn_circle_selected.xml 336B
bg_ring.xml 287B
bg_full_screen.xml 260B
ocr_icon.png 14KB
iv_bg_camera.xml 302B
AndroidManifest.xml 1KB
proguard-rules.pro 751B
build.gradle 977B
.gitignore 7B
README.md 26KB
共 46 条
- 1
资源评论
爱你三千遍斯塔克
- 粉丝: 5069
- 资源: 96
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功