PaddleOCRSharp v4.3版本,已经于5月23日发布。该版本的发布,在不影响识别精度的同时,带来了10%~15%速度的提升。
项目地址:https://gitee.com/raoyutian/PaddleOCRSharp
项目简介
PaddleOCRSharp 作者是广州英田信息科技有限公司的创始人明月心 (raoyutian) ,是一个基于百度飞桨PaddleOCR的开源代码编写的.NET版本OCR工具类库。项目核心组件PaddleOCR.dll,由C++编写,根据百度飞桨PaddleOCR的C++代码修改并优化而成。目前已经支持C++、.NET、Python、Golang、Rust等开发语言的直接API接口调用。项目包含文本识别、文本检测、表格识别功能。本项目针对小图识别不准的情况下做了优化,比飞桨原代码识别准确率有所提高。包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持中英文、纯英文以及多种语言文本检测识别。
PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大地方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。
PaddleOCRSharp支持官方所有公开的通用OCR模型,PPOCRV2、PPOCRV3、PPOCRV4。
本项目目前支持以下.NET框架:
net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;
netstandard2.0;netcoreapp3.1;
net5.0;net6.0;net7.0;net8.0
特点
★ 高度集成:PaddleOCRSharp将百度飞桨PaddleOCR的核心功能完美集成到.NET平台,让开发者无需关心底层实现,只需调用相应接口即可实现OCR功能。
★ 性能卓越:得益于百度飞桨PaddleOCR的高效算法和C++代码的优化,PaddleOCRSharp在保持高度集成的同时,也保证了卓越的性能表现。
★ 易于使用:PaddleOCRSharp提供了丰富的API接口和详细的文档说明,让开发者能够轻松上手,快速实现OCR功能。
★ 扩展性强:PaddleOCRSharp支持自定义模型加载和训练,开发者可以根据自己的需求进行模型扩展和优化。
★ 离线免费:PaddleOCRSharp支持离线绿色部署,无其他依赖需要安装。
应用场景
PaddleOCRSharp适用于各种需要OCR技术的.NET开发场景,如文档数字化处理、自动识别表单数据、车牌识别等。无论是企业级应用还是个人开发者,PaddleOCRSharp都能提供强大的OCR支持。
最后看下本次主要更新的内容:
1.优化提速10~15%。
2.降低包大小。
3.优化内存使用。
4.修复Pascal语言调用出现的一个浮点运算问题
5.ModifyParameter参数增加两个属性字段:m_rec,m_m_max_side_len
作者明月心 (raoyutian)通过重新编译底层飞桨paddle_inference推理库,优化代码,才有15%的速度提升。重新编译opencv库,裁剪不必要的功能,使得opencv库从62M减少到10M,为了满足在项目实际使用过程中可以随便改变参数,比如,有时不需要识别,有时候不需要检测,通过动态调整参数ModifyParameter均可实现。
PaddleOCRSharp使用示例:
首先安装PaddleOCRSharp库,在nuget包管理器中搜索PaddleOCRSharp安装最新版即可。
//极致精简一行代码实现OCR文字识别
var text = new PaddleOCRSharp.PaddleOCREngine().DetectText("图片文件").Text;
更多信息关注微信公众号