当前位置:   article > 正文

c#深度学习—PaddleOCRSharp(附示例源码)

paddleocrsharp

PaddleOCRSharp是基于PaddleOCR的C++代码修改并封装的.NET工具类库,支持文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能。

PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大的方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。

目录

 一、准备环境

 二、nuget包安装:

 三、代码如下


跑通了例程代码并根据建议进行了些许优化,代码中注释详细,自行阅读。

该项目只支持x64cpu编译

一、准备环境

1、先创建一个窗体项目,添加一个按钮(我的是VS2017)

2、项目-属性-生成。配置和图中一样即可

        

二、nuget包安装:

 三、代码如下

  1. using PaddleOCRSharp;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace PaddleOCRSharp1._0
  13. {
  14. public partial class Form1 : Form
  15. {
  16. //程序全局初始化一次即可,不必每次识别都初始化,容易报错。
  17. // 初始化OCR模型配置,默认中英文V3模型
  18. OCRModelConfig config = null;
  19. // 初始化OCR参数
  20. OCRParameter oCRParameter = new OCRParameter();
  21. // 创建一个OCR识别结果对象
  22. OCRResult ocrResult = new OCRResult();
  23. public Form1()
  24. {
  25. InitializeComponent();
  26. }
  27. private void button1_Click(object sender, EventArgs e)
  28. {
  29. // 创建对象,设置文件过滤器
  30. OpenFileDialog ofd = new OpenFileDialog();
  31. ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
  32. // 显示文件选择对话框,选择要识别文字的图像文件
  33. if (ofd.ShowDialog() != DialogResult.OK)
  34. {
  35. return;
  36. }
  37. // 读取选择的图像文件的所有字节数据
  38. var imagebyte = File.ReadAllBytes(ofd.FileName);
  39. // 将字节数据转换成Bitmap图像对象
  40. Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));
  41. // 创建PaddleOCR引擎,使用之前初始化的配置和参数
  42. PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);
  43. // 使用PaddleOCR引擎对图像进行文字识别
  44. // OCR识别结果会保存在ocrResult对象中
  45. ocrResult = engine.DetectText(bitmap);
  46. // 如果识别结果不为空,显示识别出的文字内容
  47. if (ocrResult != null)
  48. {
  49. // 弹出一个消息框,显示识别出的文字内容
  50. MessageBox.Show(ocrResult.Text, "识别结果");
  51. }
  52. }
  53. }
  54. }

demo下载:https://download.csdn.net/download/m0_55074196/88364787

 PaddleOCRSharp的github:

raoyutian/PaddleOCRSharp: This project is modified and encapsulated by C++ code based on Baidu PaddlePaddle OCR. Net class library. It includes the table recognition function of text recognition, text detection and statistical analysis based on text detection results. At the same time, it is optimized to improve the recognition accuracy in the case of inaccurate small image recognition. The project encapsulation is extremely simplified, and the actual call is only one line of code, which greatly facilitates the use of middle and downstream developers and reduces the entry level of paddleocr. At the same time, different functions are provided Net framework to facilitate application development and deployment in various industries. (github.com)icon-default.png?t=N7T8https://github.com/raoyutian/PaddleOCRSharp/tree/main

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/754293
推荐阅读
相关标签
  

闽ICP备14008679号