TableStructureRec: 表格结构识别推理库来了

news2024/9/23 15:31:16

目录

    • 引言
    • lineless_table_rec: 无线表格识别库
      • 安装
      • 使用
      • 结果
    • wired_table_rec:有线表格识别库
      • 安装
      • 使用
      • 结果
    • 写在最后

引言

TableStructureRec 仓库是用来对文档中表格做结构化识别的推理库,包括来自 PaddleOCR 的表格结构识别算法模型、来自阿里读光有线和无线表格识别算法模型等。

该仓库将表格识别前后处理做了完善,并结合 OCR,保证表格识别部分可直接使用。

该仓库会持续关注表格识别这一领域,集成最新最好用的表格识别算法,争取打造最具有落地价值的表格识别工具库。

欢迎大家持续关注。

在这里,我们做的工作主要包括以下两点:

  1. 将模型转换为 ONNX 格式,便于部署
  2. 完善后处理代码,与 OCR 识别模型整合,可以保证输出结果为完整的表格和对应的内容

lineless_table_rec: 无线表格识别库

lineless_table_rec库源于阿里读光-LORE 无线表格结构识别模型。

该模型主要解决无线表格结构识别问题,具体包括文档中涉及到一些三线表之类表格结构识别。对于有线的表格支持较差。

安装

pip install lineless_table_rec

使用

from lineless_table_rec import LinelessTableRecognition

engine = LinelessTableRecognition()

img_path = "tests/test_files/lineless_table_recognition.jpg"
table_str, elapse = engine(img_path)

print(table_str)
print(elapse)

结果

在这里插入图片描述

wired_table_rec:有线表格识别库

wired_table_rec库源于阿里读光-表格结构识别-有线表格。

该模型主要解决拍照和截屏场景下有线结构识别问题。

安装

pip install wired_table_rec

使用

from wired_table_rec import WiredTableRecognition

table_rec = WiredTableRecognition()

img_path = "tests/test_files/wired/table_recognition.jpg"
table_str, elapse = table_rec(img_path)
print(table_str)
print(elapse)

结果

在这里插入图片描述

写在最后

目前 PaddleOCR 中表格识别暂未整理到这个仓库中,后续会整理进来。

欢迎持续关注。

仓库地址:TableStructureRec

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1244422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建maven的web项目

(一)创建maven的web项目 Step1、创建一个普通的maven项目 (1)新建一个empty project,命名为SSM2。 点击项目名,右键new,选择Module,左侧选择“Maven archetype”,可以给…

gmapping仿真

文章目录 获取源码安装依赖项编译简单场景运行gmapping开启键盘控制通过launch文件来启动gmappingGmapping建图的参数设置地图的保存和加载参考 获取源码 cd ~/catkin_ws/src/ git clone https://gitcode.com/weixin_42990464/wpr_simulation.git git clone https://gitcode.c…

Action!录屏工具免费完整版,录屏软件,打开即可解锁最新完整可用版本,支持GPU加速HDR视频录制和播放

一、软件简介 本次带来的录屏工具已升级为【完整版本】,所有功能全部可用。该录屏工具支持GPU硬件加速,可以智能识别主流硬件设备,支持通过GPU进行HDR视频录制和播放进行。视频录制帧率最高支持360FPS,直播视频帧率最高支持60FPS…

Thread类常用成员方法

点击链接返回标题-> Java线程的学习-CSDN博客 目录 前言 有关线程名字的成员方法: String getName() void setName(String name) Thread(String name) 获取线程对象的成员方法: static Thread currentThread() 让线程睡眠的成员方法&#xff1…

穿山甲SDK 集成·android接入广告·app流量变现

接入穿山甲SDK的app 数独训练APP 广告接入示例: Android 个人开发者如何接入广告SDK,实现app流量变现 接入穿山甲SDK app示例: android 数独小游戏 经典数独休闲益智 随着移动互联网的快速发展,广告成为了许多应用开发者获取收益的主要方…

java--static的应用知识:单例设计模式

1.什么是设计模式(Design pattern) ①一个问题通常有n中解法,其中肯定有一种解法最优的,这个最优的解法被人总结出来了,称之为设计模式。 ②设计模式有20多种,对应20多种软件开发中会遇到的问题。 2.单例设计模式 确保一个类只…

Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解

01-综述 可以使用Python内置的logging模块来实现Django项目的日志记录。 所以与其说这篇文章在讲Django的“日志功能-日志模块-日志输出”,不如说是在讲Pthon的“日志功能-日志模块-日志输出”,即Python的logging模块。 下面用一个实例来进行讲解。 …

PubLayNet:电子文档元素识别的有史以来最大数据集

文章目录 摘要引言相关工作文档布局的自动标注布局类别标注算法PMCOA XML预处理和解析PMCOA PDF解析字符串预处理PDF-XML匹配算法生成实例分割质量控制 数据划分 结果基于深度学习的文档分布识别表格检测微调用于不同的领域 讨论结论附录论文中的一些英文单词论文中的其他一些专…

微信小程序汽车租赁系统

微信小程序汽车租赁系统 本系统包含了3类用户,分别为客户、员工以及管理员,客户主要是满足自身的租车需求,员工主要负责车辆的调度问题和维修状况,管理员则是主要对人员、车辆和订单的管理。以下是对各自功能的详细介绍: 客户可…

MySQL的Redo Log跟Binlog

文章目录 概要Redo Log日志Redo Log的作用Redo Log的写入机制 Binlog日志Binlog的作用Binlog写入机制 两段提交 概要 Redo Log和Binlog是MySQL日志系统中非常重要的两种机制,也有很多相似之处,本文主要介绍两者细节和区别。 Redo Log日志 Redo Log的作…

ELK企业级日志分析平台——logstash

部署 新建一台虚拟机elk4部署logstash [rootelk4 ~]# yum install -y jdk-11.0.15_linux-x64_bin.rpm[rootelk4 ~]# yum install -y logstash-7.6.1.rpm 命令方式 [rootelk4 bin]# /usr/share/logstash/bin/logstash -e input { stdin { } } output { stdout {} } elasticsearc…

vivado产生报告阅读分析17-时序报告13

CDC 拓扑结构的简化板级原理图 以下部分展示了 CDC 拓扑结构的简化板级原理图以及简要说明。在所有板级原理图中 , 源时钟信号线 ( 通常为 clk_a) 以蓝色高亮 , 目标时钟信号线 ( 通常为 clk_b ) 以橙色…

深度强化学习中的动作屏蔽(Action Masking)

RLlib中的example有一个代码是action_masking,很感兴趣,所以学习了一下 主要功能是: “动作屏蔽”允许代理根据当前观察选择动作。这在许多实际场景中非常有用,在这些场景中,不同的时间步长可以执行不同的操作。解释动…

解决:Gitee + PicGo配置图床失败

解决:Gitee PicGo配置图床失败 PicGo安装插件的时候选择:gitee-uploader,不要选择gitee! 在Gitee新建的图床仓库中设置一个images文件夹,用来保存上传的图片,但是要注意在PicGo中的path中要写上路径/img…

视频直播美颜SDK全面解析:美颜SDK技术对比

美颜SDK的出现,为直播主和用户提供了更丰富的美颜体验。 一、美颜SDK的基本原理 美颜SDK多种技术协同工作,使得直播画面更加细腻、自然,给用户带来更好的视觉感受。不同的SDK可能采用不同的算法和处理流程,从而产生各具特色的美…

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘ 背景 在使用之前的代码时,报错: File “G:\research\code\MicroDE_py\plot_bcic_iv_4_ecog_trial.py”, line 262, in from skorch.helper import predefined_spl…

适用于文件传输需求高,文件传输数据量大的aspera替代方案

与大多数点对点文件传输工具一样,Aspera提供了FTP和其他基于TCP的文件传输方法的可靠替代方案。 本文将主要介绍Aspera。但也要谈谈Aspera以及何时何地考虑将镭速作为Aspera替代方案。 Aspera的独特之处在于跨平台、WAN 优化文件传输的早期创新者。在这方面&#x…

11-22 SSM整合1

请求参数 (这里的形参数据都是SpringMvc注入的) controller里的方法不是我们来调用的 是由SpringMvc的前端控制器所调用的(前端控制器调用了处理器 由处理器和适配器去调用我们controller里的方法),controller里的方法叫handler->处理器 SpringMVC的Controller方…

Pikachu(二)

CSRF (跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完…

JS数组常用的20种方法详解(每一个方法都有例子,超全面,超好理解的教程,干货满满)

目录 1.会改变原数组的方法(7种) 1.push() 2.pop() 3.unshift() 4.shift() 5.reverse() 6.sort() 7.splice() 2.不改变原数组的方法(13种,返回的新数组是从原数组浅拷贝来的) 1.concat() 2.join() 3.slice…