#### 表格识别
**注意事项**
1. 不支持一图多页的情况识别
2. 不支持一图多表格识别
3. 尽量保证图片中的表格清晰准确
4. 图片中表格倾斜无法识别
5. 图片尽量无外边框,或者是外边框尽量小
##### 架构说明
```bash
web_ocr
├── cache #临时存储图片
├── config #配置
├── domain #接受实体和响应实体
├── io #图片主要存储路径
├── logs #日志模块
├── model #ocr模型
├── normal #暂定
├── rules #rules规则匹配
├── service #服务类
├── utils #工具类
└── web.py #web启动文件
```
##### 环境准备
- 安装Anaconda linux版本
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
1. 下载此版本: Anaconda3-2022.10-Linux-x86_64.sh
2. 保存到**Linux**上的/opt文件夹中
3. 使用以下指令:
>```bash
>cd /opt
>
>chmod 777 Anaconda3-2022.10-Linux-x86_64.sh
>
>sh Anaconda3-2022.10-Linux-x86_64.sh -b -p /opt/anaconda3
>
>echo 'export PATH="/opt/anaconda3/bin:$PATH"' >> ~/.bashrc
>
>source ~/.bashrc
>
>#切换环境之前要先激活环境,即使用如下指令
>source activate
>
>#退出虚拟环境
>conda deactivate
>```
- 安装Anaconda window版本
https://blog.csdn.net/qq_45344586/article/details/124028689
- 创建环境
1. 此处为加速下载,使用清华源
```bash
conda create --name table_ocr python=3.7.4 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
```
2. 切换环境
```bash
conda activate table_ocr
```
3. 安装飞浆
```bash
cpu版本:
conda install paddlepaddle==2.4.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
gpu版本:
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
之后添加环境变量:
conda env config vars set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:anaconda安装的路径/env/虚拟环境名称/include:anaconda安装的路径/env/虚拟环境名称/lib
conda env config vars list
gpu版本安装路径:
https://www.paddlepaddle.org.cn/documentation/docs/zh/2.4/install/conda/linux-conda.html
```
4. 安装ocr
```bash
pip install "paddleocr==2.6.1.3" -i https://pypi.tuna.tsinghua.edu.cn/simple
```
5. 其他安装依赖
```bash
pip install opencv-python==4.6.0.66 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-python-headless==4.8.0.74 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-contrib-python==4.6.0.66 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install Flask==2.2.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install shutilwhich -i https://pypi.tuna.tsinghua.edu.cn/simple
```
6. bug解决
```bash
# 解决linux动态链接库bug
conda install nomkl
```
- 启动程序
1. 使用指令`python -u web.py` 即可启动程序
**注意**:第一次启动一定要测试请求,需下载模型
2. 可使用 http://localhost:8111/index 测试页面使用,具体测试图片在 io/input_path/result
##### 接口说明
端口为 8111,可在config文件夹上的WebConfig配置
总体的返回参数为:
```json
成功的返回参数
{
"msg":"操作成功",
"splicing_data":data,
"code":200
}
失败的返回参数
{
"msg":message,
"code":500
}
```
> **/process/vidImg**
>
> 说明:此方法是识别图片和视频的通用接口
1. 请求方式
post/file
2. 请求参数
```json
上传文件即可
```
3. 返回值
```json
{
"msg":"操作成功",
"splicing_data":[],
"code":200
}
```
4. 启动程序之后有测试页面,访问http://localhost:8111/vidImg,测试上传文件即可。
> **/process/common**
>
> 说明:此方法只是识别图片
1. 请求方式
post/json
2. 请求参数
```json
{
"image":"", #图片base64
"name":"0002", #图片名称
"suffix":".jpg" #图片后缀
}
```
3. 返回值
```json
[{
"coordinates":[[]], #文本坐标
"txt_result":"", #识别文本结果
"name":"", #上传图片名称
"txt_rate":"", # 文本识别率
"uuid":"" #存储位置id
}]
```
> **/process/all**
>
> 说明:此方法只是对表格进行了分割和单独识别。
2. 请求方式
post/json
3. 请求参数
```json
{
"image":"", #图片base64
"name":"0002", #图片名称
"suffix":".jpg" #图片后缀
}
```
4. 返回值
```json
[{
"bbox": [[]], #分割图片坐标
"result": [
[{
"coordinates":[[]], #文本坐标
"txt_result":"", #识别文本结果
"name":"", #上传图片名称
"txt_rate":"", # 文本识别率
"uuid":"" #存储位置id
}]
],
"name":"0002", #图片名称
"suffix": "后缀 分head end coordinate 表示图片头,尾和中间表格",
"uuid": #存储位置id
}]
```
> **/process/res**
>
> 说明: 这个请求方法只对工作票文字识别提取有用
2. 请求方式
post/json
3. 请求参数
```json
{
"image":"", #图片base64
"name":"0002", #图片名称
"suffix":".jpg" #图片后缀
}
```
4. 返回值
```json
{
"msg":"操作成功",
"splicing_data":{
"img_name":"0002.jpg", #图片名称
"uuid":"io/save_path/74afd5a2", #分隔图片存储的位置
"table_head":"附页", # 表头,由于是特定规则 只能区分工作票和附页
"table_type":"表头"
"table_body":{
"head":{ # 字段都为String类型
"guardian":null, # 监护人
"telephone":null, #电话
"dept":null, # 单位和班组
"duty_number":null, # 人数
"start_time":null, # 开始时间
"end_time":null, #结束时间
"number":null, # 编号
"head":"附页"
},
"body":{ # 字段都为List<String>类型
"work_task":[], # 工作任务
"measure_main":null, # 工作要求的安全措施
"measure_other":[], # 其他安全措施和注意事项 一般用于附页
"other":[], #在还没有提取到到‘安全措施和注意事项’的前的内容 一般用于附页
"all":null, #暂定
"responsible":null #调度或设单位负责的安全措施
}
}
},
"code":200
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Python+Flask+paddleocr+OpenCV实现的表格识别源码+使用文档+全部资料(优秀项目)本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 基于Python+Flask+paddleocr+OpenCV实现的表格识别源码+使用文档+全部资料(优秀项目).zip基于Python+Flask+paddleocr+OpenCV实现的表格识别源码+使用文档+全部资料(优秀项目)
资源推荐
资源详情
资源评论
收起资源包目录
基于Python+Flask+paddleocr+OpenCV实现的表格识别源码+使用文档+全部资料(优秀项目).zip (107个子文件)
ch_PP-OCRv4_det_server_infer.7z 97.87MB
ch_PP-OCRv4_rec_server_infer.7z 62.35MB
vidImg.html 8KB
index.html 7KB
inference.pdiparams.info 44KB
inference.pdiparams.info 34KB
inference.pdiparams.info 30KB
inference.pdiparams.info 26KB
inference.pdiparams.info 23KB
inference.pdiparams.info 22KB
inference.pdiparams.info 18KB
0005.jpg 3.02MB
0004.jpg 2.62MB
0003.jpg 2.55MB
0001.jpg 1.02MB
0003.jpg 918KB
0001.jpg 904KB
0002.jpg 847KB
0001.jpg 697KB
0003.jpg 662KB
0002.jpg 478KB
0002.jpg 328KB
README.md 7KB
inference.pdiparams 10.27MB
inference.pdiparams 10.12MB
inference.pdiparams 7.31MB
inference.pdiparams 6.96MB
inference.pdiparams 4.48MB
inference.pdiparams 2.27MB
inference.pdiparams 527KB
inference.pdmodel 2.64MB
inference.pdmodel 2.46MB
inference.pdmodel 1.55MB
inference.pdmodel 1.35MB
inference.pdmodel 1.21MB
inference.pdmodel 166KB
inference.pdmodel 162KB
cv_util.py 26KB
base_rules.py 15KB
base_service.py 9KB
web.py 8KB
file_util.py 7KB
ocr_rules.py 6KB
opencv_controller_img.py 6KB
common_util.py 5KB
distributing_rules.py 5KB
line_rules.py 5KB
charge_rules.py 5KB
factory_rules.py 5KB
record_rules.py 5KB
attached_rules.py 4KB
hot_rules.py 4KB
comm_rules.py 3KB
paddleocr_test.py 3KB
ocr_rules_result.py 3KB
ocr_result_common.py 3KB
adapter_route.py 3KB
repair_rules.py 2KB
speck_util.py 2KB
log_handle.py 1KB
base_normal.py 1KB
pool_util.py 1KB
http_util.py 1023B
file_config.py 953B
cv_config.py 382B
model_config.py 368B
__init__.py 304B
__init__.py 303B
__init__.py 302B
__init__.py 302B
__init__.py 301B
__init__.py 301B
__init__.py 301B
__init__.py 300B
thread_config.py 163B
web_config.py 42B
cv_util.cpython-37.pyc 17KB
cv_uitl.cpython-37.pyc 9KB
base_rules.cpython-37.pyc 8KB
file_util.cpython-37.pyc 8KB
base_service.cpython-37.pyc 6KB
common_util.cpython-37.pyc 5KB
ocr_rules.cpython-37.pyc 5KB
ocr_result_common.cpython-37.pyc 3KB
comm_rules.cpython-37.pyc 3KB
ocr_rules_result.cpython-37.pyc 2KB
speck_util.cpython-37.pyc 2KB
log_handle.cpython-37.pyc 1KB
http_util.cpython-37.pyc 837B
file_config.cpython-37.pyc 756B
cv_config.cpython-37.pyc 603B
model_config.cpython-37.pyc 520B
__init__.cpython-37.pyc 464B
__init__.cpython-37.pyc 461B
__init__.cpython-37.pyc 459B
__init__.cpython-37.pyc 458B
__init__.cpython-37.pyc 457B
__init__.cpython-37.pyc 456B
__init__.cpython-37.pyc 455B
pool_util.cpython-37.pyc 411B
共 107 条
- 1
- 2
资源评论
盈梓的博客
- 粉丝: 7264
- 资源: 2012
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功