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

[C#]winform部署openvino调用padleocr模型

【官方框架地址】

https://github.com/PaddlePaddle/PaddleOCR
【算法介绍】

OpenVINO和PaddleOCR都是用于计算机视觉应用的工具,但它们有不同的特点和用途。OpenVINO是一个由Intel开发的开源工具套件,主要用于加速深度学习推理,而PaddleOCR是PaddlePaddle框架的一个组件,主要用于光学字符识别(OCR)。

下面将介绍如何使用OpenVINO调用PaddleOCR,主要分为以下步骤:

  1. 安装OpenVINO和PaddleOCR:首先需要安装OpenVINO和PaddleOCR。可以从它们的官方网站上下载并按照说明进行安装。
  2. 准备数据:需要准备一组训练好的模型和输入数据。这些模型应该是在PaddleOCR上训练的,并且是ONNX格式。输入数据可以是图像或视频。
  3. 转换模型:使用OpenVINO的Model Optimizer工具将ONNX格式的模型转换为OpenVINO可以使用的格式。这一步将生成一个IR(Intermediate Representation)文件和一个XML文件。
  4. 配置推理引擎:创建一个XML文件来配置推理引擎。这个文件描述了如何加载模型,以及如何处理输入和输出数据。
  5. 调用推理引擎:使用OpenVINO的推理引擎来执行推理。推理引擎将从配置文件中读取模型和输入数据,并执行推理,然后返回结果。
  6. 处理结果:最后,需要对推理结果进行处理,例如将文本转换为字符串,或者将结果可视化。

需要注意的是,由于OpenVINO和PaddleOCR都是深度学习工具,因此需要一定的计算机视觉和深度学习知识才能正确使用它们。此外,由于它们都是大型工具套件,因此安装和配置可能需要一些时间和经验。

【效果展示】


【实现部分代码】

 string detectionModelDir = Application.StartupPath + "\\weights\\ch_PP-OCRv4_det_infer";string classificationModelDir = Application.StartupPath + "\\weights\\ch_ppocr_mobile_v2.0_cls_infer";string recognitionModelDir = Application.StartupPath + "\\weights\\ch_PP-OCRv4_rec_infer";string labelFilePath = Application.StartupPath + "\\weights\\ppocr_keys_v1.txt";FullOcrModel model = FullOcrModel.FromDirectory(detectionModelDir, classificationModelDir, recognitionModelDir, labelFilePath, ModelVersion.V4);PaddleOcrAll all = new PaddleOcrAll(model);all.AllowRotateDetection = true; /* 允许识别有角度的文字 */all.Enable180Classification = false; /* 允许识别旋转角度大于90度的文字 */Stopwatch sw = new Stopwatch();sw.Start();PaddleOcrResult result = all.Run(src);sw.Stop();Console.WriteLine("总耗时是:" + sw.Elapsed.TotalSeconds + "秒");tb_res.Text = result.Text;foreach (PaddleOcrResultRegion item in result.Regions){Cv2.Rectangle(src, item.Rect.BoundingRect(), new Scalar(255, 0, 0));}pictureBox2.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);


【视频演示】

https://www.bilibili.com/video/BV1iK4y1q7kk/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee
【源码下载】

https://download.csdn.net/download/FL1623863129/88762893
【测试环境】

vs2019,netframework4.7.2
 

http://www.lryc.cn/news/284205.html

相关文章:

  • 【docker-compose】【nginx】内网环境https配置
  • 大语言模型无代码构建知识图谱概述
  • 链表回文结构
  • MyBatis框架基础到进阶
  • 【答案】2023年国赛信息安全管理与评估正式赛答案-模块1任务一
  • 【REMB 】翻译:草案remb-03
  • 力扣(leetcode)第830题较大分组的位置(Python)
  • 【导航】繁星学习随想录
  • Oracle 隐式数据类型转换
  • 压缩编码之不同缩放参数对重建图像质量的影响的python实现——JPEG变换编码不同压缩率的模拟
  • 大数据导论(2)---大数据与云计算、物联网、人工智能
  • 有序矩阵中第 K 小的元素
  • Nginx详细介绍(并从技术层面深度剖析)
  • 单元测试基本概念
  • ECTouch 电商微信小程序 SQL注入漏洞复现(CVE-2023-39560)
  • MCM备赛笔记——熵权法
  • vscode设置terminal的最大行数
  • kafka hang 问题记录
  • Jmeter-BeanShell脚本中for循环里面使用random随机数函数,每次生成的都一样
  • 高级编程。JavaScript中有哪些类型转换机制?
  • Linux系统下常用软件安装汇总,包括mysql,java,git,redis等
  • 【Linux】——期末复习题(一)
  • 【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model
  • 【华为 ICT HCIA eNSP 习题汇总】——题目集4
  • hadoop-common: CMake failed with error code 1
  • 【面试】-科大讯飞日常实习面试
  • MySQL 数据加密
  • 风丘科技为您提供完整的ADAS测试方案
  • 深入理解Rust基本类型
  • cloudflare加速方法