首页 > 编程语言 >高精度离线免费 的C#文字识别PaddleOCR库

高精度离线免费 的C#文字识别PaddleOCR库

时间:2023-07-29 09:48:13浏览次数:39  
标签:OCR C# PaddleOCR 离线 文本 PaddleOCRSharp new 识别

随便打开一个Microsoft Visual Studio,新建一个WinForms项目,从下面列表中随便选择一个NET框架。目标平台要设置成X64,该OCR仅支持64位。

 

1 2 3 net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48; netstandard2.0;netcoreapp3.1; net5.0;net6.0;net7.0;

 

 

 

 

创建完窗口后,切换到【程序包管理控制台】,输入下面命令并回车:

1 Install-Package PaddleOCRSharp -Version 3.1.0

也可以:项目名称右键点击》管理nuget程序包,在浏览界面,搜索“PaddleOCRSharp”选择最新版本点击【安装】

按照上面操作完成PaddleOCRSharp的依赖包安装。

在窗口界面拖放一个按钮,并双击,在按钮的点击事件中,输入以下代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 OpenFileDialog ofd = new OpenFileDialog();   ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";   if (ofd.ShowDialog() != DialogResult.OK) return;   var imagebyte = File.ReadAllBytes(ofd.FileName);   Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));   OCRModelConfig config = null;   OCRParameter oCRParameter = new  OCRParameter ();   OCRResult ocrResult = new OCRResult();   //建议程序全局初始化一次即可,不必每次识别都初始化,容易报错。   PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);    {     ocrResult = engine.DetectText(bitmap );    }  if (ocrResult != null)  {     MessageBox.Show(ocrResult.Text,"识别结果");  }

然后按F5运行,点击按钮,选择一个本地图片,进行OCR文字识别。

弹出识别结果,说明你已经上手学会了如何使用OCR,就这么简单。

 

 

 

PaddleOCRSharp项目,是基于百度飞桨OCR代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测。项目封装极其简化,实际调用仅几行代码,极大的方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。

关键:离线、免费、高精度、开源

项目开源地址:https://gitee.com/raoyutian/paddle-ocrsharp

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

同时,,该核心PaddleOCR.dll库,还支持Python.GO.C++.Rust等语言调用哟!

你get到了吗?

标签:OCR,C#,PaddleOCR,离线,文本,PaddleOCRSharp,new,识别
From: https://www.cnblogs.com/chinasoft/p/17589281.html

相关文章

  • centos7.9 ftp 搭建
    脚本使用介绍:执行脚本根据提示输入ftp密码即可默认目录/data/ftp,如需更改修改脚本第三行:ftp_dir='/data/ftp' 将/data/ftp替换默认用户名ftpuser如需更改,修改脚本第四行部署完成配置文件默认设置为只能ftp用户访问ftp服务,只允许访问ftp目录不能访问其他路径。需要......
  • Oracle数据库DB_NAME、SERVICE_NAME、SID、INSTANCE_NAME、DB_UNIQUE_NAME的区别 转
    Oracle数据库DB_NAME、DBID、DB_UNIQUE_NAME、SERVICE_NAME、SID、INSTANCE_NAME、GLOBAL_DATABASE_NAME的区别DB_NAME:①是数据库名,长度不能超过8个字符,记录在datafile、redolog和controlfile中②在DataGuard环境中DB_NAME相同而DB_UNIQUE_NAME不同③在RAC环境中,各个节点的DB_......
  • 多层感知机——pytorch版
    importtorchfromtorchimportnnfromd2limporttorchasd2lbatch_size=256train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)num_inputs,num_outputs,num_hiddens=784,10,256w1=nn.Parameter(torch.randn(num_inputs,num_hiddens,re......
  • IO密集型任务与CPU密集型任务
    IO密集型1.IO密集型任务是指在执行过程中主要涉及到输入输出(IO)操作的任务。这些任务通常需要与外部资源进行交互,如读写文件、网络请求、数据库查询等,而实际的计算量相对较小。2.在IO密集型任务中,CPU的使用率相对较低,大部分时间都花费在等待IO操作完成上。因此,多线程在这种情况......
  • softmax回归模型——pytroch版
    importtorchfromIPythonimportdisplayfromd2limporttorchasd2l#fromd2l.mxnetimportAccumulatorbatch_size=256#每次读256张图片,返回训练iter和测试itertrain_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)num_inputs=784num_outputs......
  • softmax回归模型simple——pytroch版
    importtorchfromtorchimportnnfromd2limporttorchasd2lbatch_size=256train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)#PyTorch不会隐式地调整输入的形状。因此,#我们在线性层前定义了展平层(flatten),来调整网络输入的形状net=nn.Sequenti......
  • mac sip操作
     一,查看sip状态(终端输入命令按回车键运行)csrutilstatuscsrutilauthenticated-rootstatus 看到sip状态是enabled开启状态说明sip状态是开启,如果显示disabled那么说明sip状闭就需要进恢复模式进行关闭sip. 二,进入恢复模式intel处理器把mac电脑完全关机,然后......
  • 线性回归模型实现——pytorch版
    importrandomimporttorchfromd2limporttorchasd2ldefsynthetic_data(w,b,num_examples):"""生成y=Xw+b+噪声"""x=torch.normal(0,1,(num_examples,len(w)))#01正态分布,num_examples个样本,len(w)列print('len是:'......
  • manacher
    应用O(n)求以每个节点为中心的回文串长度原理1、对S=“hshbvbhshb”,每个字符之间插入“#”,以便统一奇偶长度回文串。并在最前插入"^",左右扩展边界时才不会访问到-1,右边不用是因为自带"\0"。得到T="^#h#s#h#b#v#b#h#s#h#b#"2、定义p[i]为T中i位为中心回文串半径,注意回文串不包......
  • Improved deep reinforcement learning for robotics through distribution-based exp
    发表时间:2016(IROS2016)文章要点:这篇文章提出了experiencereplay方法的改进,让experience的分布介于当前policy和均匀分布之间,作者做实验发现这个时候的效果是最好的(theidealdistributionislikelytobesomewherebetweenthedistributionthatresultsfromsimplyfollow......