这几年的AI的发展,使得文字识别难度大大降低、精度大大的提高。百度飞浆就是一个非常好的AI框架,而且是开源的。

图片

我们利用百度飞浆就能快速简单的实现文字识别功能,几行代码就可以集成。

其中百度飞浆的PaddleOCR,就是专门针对文本识别的开发套件,包含的功能有:文本失败、文本检测、表格识别,支持中英文数字组合的识别、竖排、长文本识别,而且还针对小图做了优化,大大提升准确率。

下面我们一起来看看,如何使用百度飞浆实现文字识别:

一、新建项目

新建一个控制台项目。

图片

二、安装依赖包

通过NuGet,安装依赖包:PaddleOCRSharp。

图片

PaddleOCRSharp是Github的开源项目,是基于百度飞浆C++代码封装的.Net类库,其中支持PaddleOCR版本是**release2.5。**如果大家需要最新版本,或者其他模型,也可以自行封装。

项目地址:https://github.com/raoyutian/PaddleOCRSharp

安装依赖后,我们就可以看到很多dll库。

图片

三、编写识别代码

识别图片的文字,并打印,代码如下:

using PaddleOCRSharp;PaddleOCREngine engine;//中英文模型V3模型
OCRModelConfig config = null;//OCR参数
OCRParameter oCRParameter = new OCRParameter();
oCRParameter.cpu_math_library_num_threads = 6;//预测并发线程数
oCRParameter.enable_mkldnn = true;//是否使用mkldnn模型
oCRParameter.cls = false; //是否执行文字方向分类
oCRParameter.use_angle_cls = false;//是否开启方向检测
oCRParameter.det_db_score_mode = true;//是否使用多段线,即文字区域是用多段线还是用矩形,
oCRParameter.det_db_unclip_ratio = 1.6f;
oCRParameter.max_side_len = 2000;//初始化OCR引擎
engine = new PaddleOCREngine(config, oCRParameter);var imagebyte = File.ReadAllBytes("1.png");
OCRResult ocrResult = engine.DetectText(imagebyte);
Console.WriteLine(ocrResult.Text);

四、执行效果如下

图片

识别速度、效果还是非常好的。

- End -

推荐阅读

推荐一个支持低代码开发的OA开源系统

一个基于.Net Core+Vue+Element Ui开发的OA系统

一个基于NetCore模块化、多租户CMS系统

一个基于EntityFrameworkCore+Lucene实现的全文搜索引擎库

盘点6个.NetCore+Vue前后端分离的开源项目

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Framework 调用栈

在Android Framework开发中,添加调用栈(Call Stack)是调试复杂问题(如崩溃、死锁或流程追踪)的核心手段。 一、Java层调用栈添加 适用于Activity、Service等组件或Framework中的Java代码。 基础方法: 使用…

Ollama安装非系统盘操作方法(2025年6月测试通过)

Ollama是当前部署大模型比较便利的工具,但是默认会将软件和模型都安装到C盘下,导致系统盘爆表,建议将软件和模型都放置在非系统盘。 1. 软件安装在非系统盘 (1)在D盘下手动创建ollama目录 (2&#xff09…

《HTTP权威指南》 第1-2章 HTTP和URL基础

HTTP请求基础 格式化数据块称为HTTP报文 请求报文:从客户端发往服务器的HTTP报文,只有请求起始行请求首部,没有请求主体 响应报文:从服务器发往客户端的报文,包含响应起始行响应首部响应主体 HTTP报文通过传输控制…

9. TypeScript 泛型

TypeScript 中的泛型使开发者能够编写灵活、可重用的代码,同时保持类型安全。它们允许动态定义类型,确保函数、类和接口可以适用于任何数据类型。这有助于避免重复,提高代码的模块化,使其既类型安全又具备适应性。 一、认识泛型 …

Apache Iceberg与Hive集成:分区表篇

一、Iceberg分区表核心概念与Hive集成原理 1.1 分区表在大数据场景的价值 在大规模数据分析中,分区表通过将数据按特定维度(如时间、地域、业务类型)划分存储,可显著提升查询效率。Apache Iceberg的分区表设计融合了Hive的分区理…

SAST + IAST + DAST 全链路防护体系构建方案

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 1. 生命周期分层嵌入(防御纵深) 阶段工具防护重点集成触发点编码阶段SAST源码漏洞(硬编码密钥、SQL注入模式&#x…

pnpm link如何不踩坑

前提一:我有一个source-project源码库,有一个develop-project项目库。想使用pnpm link对source-project进行本地调试。 前提二:source-project源码库已打包 本地调试详细步骤如下: 1、检查是否配置了系统环境变量,P…

vue3 javascript 多字段求和技巧

在 Vue 3 中,如果你需要在一个组件中处理多个字段的求和,你可以通过计算属性(computed properties)或者方法(methods)来实现。这里我将展示两种主要的方法: 方法 1:使用计算属性&am…

【LeetCode】每日一题 —— No.3405

LeetCode 3405 统计恰好有 K 个相等相邻元素的数组数目&#xff08;DP 构造型&#xff09; 题目概述 我们需要统计长度为 n 的数组 arr 满足如下条件的方案数&#xff1a; 每个元素在区间 [1, m] 之间恰好存在 k 个位置 i (1 ≤ i < n) 满足 arr[i] arr[i - 1] 也就是说…

Elsa Workflows: .NET 的开源工作流引擎简介

文章目录 Elsa Workflows&#xff1a; .NET 的开源工作流引擎核心定位与理念关键特性与优势当前 (Elsa 3) 的已知限制/待完善项总结 Elsa Workflows&#xff1a; .NET 的开源工作流引擎 Elsa Workflows 是一个开源的、模块化的 .NET 库集合&#xff0c;旨在为 .NET 应用程序提…

linux虚拟机yum命令报错解决方案

问题 假如出现了这样的问题&#xff0c;可能是虚拟机yum库存在问题 解决方法 1、打开cmd&#xff0c;输入ssh root地址&#xff0c;比如ssh root192.168.222..111&#xff0c;选yes&#xff0c;输入虚拟机密码 2、使用yum repolist,查看仓库状态&#xff0c;status下面如果是…

C++ 第一阶段 基本语法 - 第一节:变量与数据类型详解

目录 一、变量与数据类型概述 1.1 什么是变量&#xff1f; 1.2 数据类型分类 二、基本数据类型详解 2.1 整型&#xff08;int, short, long&#xff09; 2.1.1 常见整型类型 2.1.2 代码示例 2.1.3 注意事项 2.2 浮点型&#xff08;float, double&#xff09; 2.2.1 浮…

CppCon 2017 学习:CNL: A Compositional Numeric Library

你说的这段关于浮点数的问题总结得很精准&#xff0c;我帮你整理一下&#xff0c;让理解更清晰&#xff1a; The Problem with Floating-Point&#xff08;浮点数的问题&#xff09; 复杂的表示结构 浮点数由符号位 &#xff0c;有效数&#xff08;significand/mantissa&…

linux基础重定向及组合重定向

一、基础重定向操作符 ‌类别‌ ‌操作符‌ ‌含义‌ ‌示例‌ ‌备注‌ ‌标准输出‌ > 覆盖写入 stdout 到文件 ls > file.txt 文件不存在则创建&#xff0c;存在则清空内容 >> 追加 stdout 到文件末尾 date >> log.txt 保留原有内容 ‌标准…

佰力博科技与您探讨铁电分析仪适用场景

铁电分析仪是一种用于测试和研究铁电材料性能的精密仪器&#xff0c;其适用场景非常广泛&#xff0c;涵盖了材料科学、物理学、电子工程等多个领域。 1、材料科学与工程 铁电分析仪广泛应用于铁电材料的研究&#xff0c;包括薄膜、厚膜、块体材料以及电子陶瓷等。它能够测试材料…

JVM 内存模型与垃圾回收机制全解析:架构、算法、调优实践

Java 作为一门面向对象的编程语言&#xff0c;其核心优势之一是 “一次编写&#xff0c;到处运行” 的跨平台特性。这一特性背后&#xff0c;Java 虚拟机&#xff08;JVM&#xff09;扮演着至关重要的角色。JVM 不仅负责解释执行字节码&#xff0c;还通过内存管理和垃圾回收机制…

自然语言处理相关基本概念

基本概念章节总结 一、语言学&#xff08;Linguistics&#xff09; 定义 研究语言的本质、结构和发展规律的科学&#xff0c;涵盖语音、文字、语法等属性。分支包括历时语言学、共时语言学、描述语言学等。 核心内容 分析语言的形态、句法、语义等层面&#xff0c;如词素&…

Vue购物车应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计购物车界面4. 创建Vue实例和数据模型5. 实现购物车功能5.1 从本地存储加载数据5.2 监听数据变化保存到本地存储5.3 实现全选/反选功能5.4 计算选中商品的总价和总数量5.5 实现修改商品数量功能5.6 实现删除商品功能5.7 实现结算功能…

双因子认证如何让Windows系统登录更安全?SLA操作系统双因素认证解决方案深度解析

引言&#xff1a;数字化转型下的身份认证危机 在云计算与远程办公普及的2025年&#xff0c;企业信息系统正面临前所未有的安全挑战。微软Azure Virtual Desktop漏洞事件、Citrix数据泄露等安全事件频发&#xff0c;暴露出传统密码认证体系的致命缺陷。据《2025年云安全威胁报告…

FPGA基础 -- Verilog语言要素之值集合

一、Verilog 值集合&#xff08;Value Set&#xff09; Verilog 是一种面向硬件建模的描述语言&#xff0c;为了更真实地模拟硬件行为&#xff0c;它并不仅仅像 C 语言那样只有 0 和 1 两种值&#xff0c;而是采用了四值逻辑&#xff08;Four-valued logic system&#xff09;…