当前位置: 首页 > news >正文

C#实现图片文字识别

这几年的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.lryc.cn/news/571610.html

相关文章:

  • 【Pandas】pandas DataFrame unstack
  • LVS+Keepalived高可用群集
  • 【请关注】真实案例pg及kong安装部署
  • CppCon 2017 学习:C++ in Academia
  • GNU Octave 基础教程(2):变量与数据类型详解(一)
  • 技术与情感交织的一生 (八)
  • Git中新创建分支是否为空?这可得视情况而定!
  • JVM-类加载机制
  • 论文笔记 <交通灯><多智能体>MetaLight:基于价值的元强化学习用于交通信号控制
  • 20.jsBridge多页面交互与原生事件监听冲突问题
  • 锂电池充电管理芯片XSP30 适用于2-3节串联锂电池升降压快速充电
  • 新发布的一款使用ReactNative新架构加载Svga动画的开源插件[android/ios]
  • 【解决方案】Java 11 报错 <javax.net.ssl.SSLException: Tag mismatch!>,Java 8 却没问题?
  • 二分K-means:让聚类更高效、更精准!
  • Alpine Docker 容器中安装包缓存与 C/C++ 运行问题
  • 2025年暑期在线实习项目分享
  • 专业音乐播放器分享,Foobar2000多格式解码的技术实现,界面自定义的实用技巧
  • [计算机网络] 网络的诞生:协议的认知建立
  • AndroidView的简单使用
  • 【第二章:机器学习与神经网络概述】01.聚类算法理论与实践-(3)DBSCAN 聚类算法
  • python学智能算法(十二)|机器学习朴素贝叶斯方法初步-拉普拉斯平滑计算条件概率
  • Java安全-常规漏洞问题(SQL注入,XXE,SSRF,RCE)
  • Linux系统移植10:uboot移植
  • Prompt+Agent+LLM:半导体炉管设备健康评估的落地实战
  • 开源 Arkts 鸿蒙应用 开发(三)Arkts语言的介绍
  • 腾讯云TCCA认证考试报名 - TDSQL数据库交付运维工程师(PostgreSQL版)
  • 字节跳动 AI 视频生成模型 Seedance 1.0 悄然超越 Google Veo 3
  • 经典风格的免费wordpress模板
  • 【世纪龙科技】3D 赋能教育革新,解锁新能源汽车结构教学新范式
  • MCU LTE Cat.1 bis 8910DM + SD NAND MKDV4GIL-AST:赋能 T-Box 的智能存储通信一体化解决方案