ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ONNXOCRSharp 开源手记 00|从今天起,记录它的每一步

ONNXOCRSharp 开源手记 00|从今天起,记录它的每一步 1、写在前面从今天起我给 OnnxOCRSharp 开一个固定栏目名字就叫——《ONNXOCRSharp 开源手记》这个想法好像很突然但也是我这几天深思熟虑过。这个项目开始于6月初到现在也不过是3个月我怎么感觉已经过了很久。3个月发布4个重要版本也同时发布4篇文章。现在来看这些还都属于是技术验证也更像是给技术人员用的。这其实也符合初心一个OCR应用库目标群体就是相关的开发者。最近我变得更加贪心我想让普通用户也能用起来。在我和朋友聊过几次之后我也逐渐下定决心既要又要又可能后面还要引擎库继续给开发者使用桌面端要做成非技术用户也能随心使用的 PC 软件。库的名字还是OnnxOCRSharp。面向普通用户的桌面产品品牌定为LincOCR——本地识别安全易用。而这就是这本开源手记要长期记录的事。而今天也是一个承上启下的重要时刻。2、回首来时路回看公众号里和 OnnxOCRSharp 直接相关的几篇其实已经是一条完整的成长线了。2.1 起点把 Python 搬进 C#最早在《离线桌面OCR的用户有福了试试OnnxOCR的C#版》里我做的事情很单纯的把 OnnxOCR 的流水线移植到 .NET用 WPF 做出一个能选图、能识别、能看框和文本的 MVP。当时的技术栈定为——ONNX Runtime、OpenCvSharp、CommunityToolkit.Mvvm这也是为项目定下来的技术框架不会轻易改变。项目名借鉴 OpenCvSharp就叫OnnxOCRSharp。那时候的目标很明确让离线桌面 OCR 在 C# 世界里也能跑起来。2.2 升级跟上 PP-OCRv6后来 PP-OCRv6 来了。在《PP-OCRv6 来了C# 离线 OCR OnnxOCRSharp再升级》里检测后处理、识别预处理、字典加载整条链路跟着架构一起改。桌面端开始能一键下模型GitHub 自动发布也跑通了——打开就能用。引擎从「能跑」变成「能跟上游模型一起长大」。而这篇文章是阅读量和评论数最多的大家提了很多意见有新的需求有新的问题也有新的建议。我会逐步吸收进来慢慢完善。记得当时发布nuget包有问题被小伙伴发现后我也是连夜及时做处理那忙碌的场景跟在公司加班救火分毫不差。2.3 加速GPU 与竖排文字再往后是《OnnxOCRSharp 支持 GPU 和竖排文字了》。CUDA 推理、方向校正、竖排场景这些都是真实办公里的场景确实也有坑。有人用笔记本 CPU 凑合有人机器上挂着显卡有人拍的是竖着的铭牌——都要照顾到。这一步之后它更像一个认真的桌面工具了。2.4 效率多文件识别最近一篇《OnnxOCRSharp 支持多文件识别了》是被小伙伴「催」出来的。批量队列、拖拽文件夹、进度、导出——算是把批处理的链条建立起来了。3、到哪里去让更多的人用起来为了让这个开源项目走的更远就需要让它被更多的人使用。所以它不单单是一个开源库更要是一个靠谱的本地 OCR 软件。所以从今天起我会把产品叙事拆成两层写进这本手记里层次名字给谁用怎么用开源引擎 / 库OnnxOCRSharp开发者、二次开发NuGet、源码、Console桌面客户端LincOCR普通办公用户安装/解压即用点选图片就能识别近期桌面端已经在往这个方向靠品牌界面改为LincOCR文字模式继续支持多文件 / 文件夹表格模式支持单张识别并导出 Excel识别过程有 LincOCR 品牌转圈提示导出后可直接打开文件或所在目录4、说说LincOCR这个名字本来是想给起一个叫起来非常响亮的名字找来找去还是非常难的。因为这个赛道上已经有了太多的产品。就像08年春晚小品《火炬手》里面的起名字起了半天又是齐德隆又是齐东强的最后黑土说“齐得隆冬强洋气”。我这也一样找不到了就用我的公众号名字做品牌吧好认。也算是做一个品牌系列了就像那个小程序叫程序员Linc表格识别一样。5、小结OnnxOCRSharp 从「Python OnnxOCR 的 C# 移植」走到今天已经有了引擎、NuGet、桌面端、GPU、竖排、多文件等能力。开源手记从今天起记录它的每一步。仓库地址https://github.com/lincyang/OnnxOCRSharp微信公众号程序员Linc系列导航持续更新00从今天起记录它的每一步本篇前传C# 移植 MVP、《PP-OCRv6 升级》、《GPU 与竖排》、《多文件识别》
返回列表