[C#]利用paddleocr进行表格识别

news/2024/4/15 8:43:52

【官方框架地址】

https://github.com/PaddlePaddle/PaddleOCR.git
【算法介绍】

PaddleOCR表格识别是PaddlePaddle开源项目中的一个强大功能,它利用深度学习技术实现了对各类表格的高精度识别。PaddleOCR表格识别能够处理各种复杂的表格,包括但不限于Excel、CSV和PDF表格,具有广泛的应用场景。

PaddleOCR表格识别的核心是深度学习模型,采用了先进的卷积神经网络和序列模型等技术,能够自动学习和提取表格中的文字、数字和结构信息。通过训练大量的数据集,模型能够逐渐提高识别的准确率和稳定性。

使用PaddleOCR表格识别非常方便,用户只需上传需要识别的表格文件,系统会自动进行预处理和识别,并输出识别的结果。识别的结果可以以文本、数字和结构化的形式展示,方便用户进行后续的数据分析和处理。

此外,PaddleOCR表格识别还支持多种语言和字符集,能够满足不同国家和地区的需求。同时,系统还提供了可定制化的服务,用户可以根据自己的需求进行模型训练和优化,提高识别的准确率和效率。

总的来说,PaddleOCR表格识别是一种高效、准确、易用的表格识别工具,能够帮助用户快速地提取和处理各种表格中的信息。无论是数据分析和可视化领域,还是办公自动化和文档处理领域,PaddleOCR表格识别都具有广泛的应用前景

【效果展示】


【官方实现部分代码】

FullOcrModel model = LocalFullModels.ChineseV3;byte[] sampleImageData;
string sampleImageUrl = @"https://www.tp-link.com.cn/content/images2017/gallery/4288_1920.jpg";
using (HttpClient http = new HttpClient())
{Console.WriteLine("Download sample image from: " + sampleImageUrl);sampleImageData = await http.GetByteArrayAsync(sampleImageUrl);
}using (PaddleOcrAll all = new PaddleOcrAll(model, PaddleDevice.Mkldnn())
{AllowRotateDetection = true, /* 允许识别有角度的文字 */ Enable180Classification = false, /* 允许识别旋转角度大于90度的文字 */
})
{// Load local file by following code:// using (Mat src2 = Cv2.ImRead(@"C:\test.jpg"))using (Mat src = Cv2.ImDecode(sampleImageData, ImreadModes.Color)){PaddleOcrResult result = all.Run(src);Console.WriteLine("Detected all texts: \n" + result.Text);foreach (PaddleOcrResultRegion region in result.Regions){Console.WriteLine($"Text: {region.Text}, Score: {region.Score}, RectCenter: {region.Rect.Center}, RectSize:    {region.Rect.Size}, Angle: {region.Rect.Angle}");}}
}


【源码下载】

https://download.csdn.net/download/FL1623863129/88737758
【测试环境】

vs2019

netframework4.7.2

opencvsharp4.8.0
 


http://www.ppmy.cn/news/1324608.html

相关文章

多进程打包

问题: 利用pyinstaller打包成exe后程序不停开进程卡死电脑。已清理逻辑了都还是这样不停开进程。 原因: 多进程没冻结窗口。 解决方案: 添加: from multiprocessing import freeze_support if __name__ "__main__&quo…

python对自动驾驶进行模拟

使用了 Pygame 库来创建一个简单的游戏环境,模拟了一辆自动驾驶汽车在道路上行驶。汽车的位置和速度通过键盘控制,可以左右移动和加速减速。道路的宽度和颜色可以根据需要进行调整。 import pygame import random # 游戏窗口大小 WINDOW_WIDTH 800 WINDOW_HEIG…

flutter 五点一:MaterialApp Theme

ThemeData factory ThemeData({bool? applyElevationOverlayColor, //material2的darkTheme下 增加一个半透明遮罩 来凸显阴影效果 material3下无效 貌似没啥用NoDefaultCupertinoThemeData? cupertinoOverrideTheme, //ios组件样式 Iterable<ThemeExtension<dyn…

解决Reinitialized existing Git repository

非初始化提交 可能是因为你想重新初始化已存在的Git仓库。这可能是因为你想重置Git仓库的状态&#xff0c;或者想重新开始一个新的Git历史记录。 要解决这个问题&#xff0c;你可以按照以下步骤操作&#xff1a; 确保你在正确的目录下。在命令行中使用cd命令切换到你的Git仓库…

[C++] opencv - copyTo函数介绍和使用案例

copyTo函数介绍 copyTo函数是OpenCV库中的一个成员函数&#xff0c;用于将一个Mat对象的内容复制到另一个Mat对象中。 函数原型&#xff1a; void cv::Mat::copyTo(OutputArray m) const;void cv::Mat::copyTo(OutputArray m, InputArray mask) const; 参数说明&#xff1a;…

图解渠道网关:不只是对接渠道的接口(一)

这是《百图解码支付系统设计与实现》专栏系列文章中的第&#xff08;20&#xff09;篇。点击上方关注&#xff0c;深入了解支付系统的方方面面。 主要讲清楚什么是渠道&#xff0c;有哪些类型的渠道&#xff0c;什么是渠道网关&#xff0c;渠道网关在支付系统中定位、核心功能…

Android 布局菜鸟 android中的布局类型和特点?

一、LinearLayout(线性布局) 1、 特点: 主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能放一个控件。 2、适⽤场景: Android开发中最常见的 ⼀种布局⽅式,排列…

Spring Boot整合日期转换器(Converter)和拦截器(HandlerInterceptor)

添加日期转换器&#xff08;Converter&#xff09; public class DataConverter implements Converter<String, Date> {Overridepublic Date convert(String s) {try {SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-MM-dd");return simpleD…

Linux系统SSH远程管理服务

目录 一、SSH协议是什么&#xff1f; 1、SSH协议的定义&#xff1a; 2、SSH协议的优点 3、SSH的客户端与服务端 4、SSH的原理 4.1公钥首次连接原理 4.2ssh远程登录 4.3使用简单的SSH远程登录 二、OpenSSH服务器 1、OpenSSH简介 2、配置Openssh服务端 3、SSH服务的最…

threejs(19)-Cesium生成3D地图

Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示&#xff0c;可以自行绘制图形&#xff0c;高亮区域&#xff0c;并提供良好的触摸支持&#xff0c;且支持绝大多数的浏览器和mobile。 官方开发文档地址&#xff1a;https://www.…

华为OD机试真题-堆内存申请-2023年OD统一考试(C卷)

题目描述: 有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为优先紧接着前一块已使用内存分配空间足够且最接近申请大小的空闲内存。 输入描述: 输入: 第1行是1个整数,表示期望申请的内存字节数; 第2到N行是用空格分割的两个整数,表示当前已分配的内存…

【ubuntu】docker中如何ping其他ip或外网

docker中如何ping其他ip或外网 示例图&#xff1a; 运行下面命令&#xff1a; docker run -it --namehei busybox看情况需要加权限 sudo&#xff0c;即&#xff1a; sudo docker run -it --namehei busyboxping 外网 ping -c 4 www.baidu.comping 内网 ping -c 4 192.168.…

win32com报错:无效的类字符串(Invalid Class String)

异常&#xff1a;无效的类字符串 (Invalid Class String) 。 使用python操作COM组件的朋友应该都碰到过&#xff0c;这个报错来自于python标准库pythoncom。win32com也是建立在pythoncom基础上的&#xff0c;在我使用win32com一年多的期间&#xff0c;印象中碰到三次这个报错。…

Notepad++运行C语言输出乱码

方法一&#xff1a;编码-编码字符集-中文-GB2312 这时原程序中文会变成乱码&#xff0c;我是重新输入中文 重新编译执行即可 缺陷&#xff1a;重开一个程序有中文还是会显示乱码&#xff0c;需要重新设置编码&#xff0c;比较麻烦 方法二&#xff1a;设置-首选项-新建-右侧编…

k8s operator从0到1实践

文章目录 环境准备一个k8s集群开发工具包mac安装 实践初始化operator项目核心逻辑编写测试验证验证 部署 参考 环境准备 一个k8s集群 推荐使用docker-desktop&#xff0c;本地单机集群 开发工具包 这里推荐使用脚手架工具kubebuilder 使用脚手架工具&#xff0c;能生成项目…

【开源】基于JAVA语言的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…

实验一 安装和使用Oracle数据库

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

【Web】NSSCTF Round#16 Basic个人wp(全)

出题友好&#xff0c;适合手生复健。 目录 ①RCE但是没有完全RCE ②了解过PHP特性吗 ①RCE但是没有完全RCE 上来就是一段md5八股 (string)就是不让用数组了&#xff0c;然后强比较需要md5碰撞 ?md5_1%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc…

大数据学习(32)hive优化方法总结

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

新能源汽车智慧充电桩解决方案:智慧化综合管理与数字化高效运营

一、方案概述 TSINGSEE青犀&触角云新能源汽车智慧充电桩解决方案基于管理运营平台&#xff0c;覆盖业务与应用、数据传输与梳理、多端开发、搭建等模块&#xff0c;融合AI、5G、Wi-Fi 、移动支付等技术&#xff0c;实现充电基础设施由数字化向智能化演进&#xff0c;通过构…
最新文章