前言:

  在之前的项目中,我们已经使用 OpenVINOTM CSharp API 部署 PaddleOCR 全系列模型,但随着PaddleOCRv4版本发布以及OpenVINO CSharp API版本迭代,上一版本的项目已经不再适用。因此在推出的最新项目中,已经完成了对PaddleOCRv4的匹配,并且采用了最新版本的 OpenVINOTM CSharp API,可以更快的实现在不同平台进行部署,减少使用者在使用时的步骤以及问题。

1. 项目介绍

  该项目主要基于开发的[OpenVINOTM C# API](OpenVINOTM C# API)项目,基于 C# 编程语言在.NET框架下使用OpenVINOTM 部署工具部署百度飞桨下的 PaddleOCR 系列模型,实现图片文字识别、版面分析以及表格识别等功能。

  项目提供了简单的案例以及二次开发的API接口,大家可以根据自己需求进行再次开发与使用。

  项目PaddleOCR-OpenVINO-CSharp链接为:

https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp

2. 项目环境

  在本项目中主要使用的是自己开发的OpenVINOTM C# API项目以及OpenCvSharp4项目,所使用NuGet Package程序包以及安装方式如下所示

2.1 NuGet Package

  • OpenVINO.CSharp.API >= 2023.2.0.2
  • OpenVINO.runtime.win >= 2023.2.0.1
  • OpenCvSharp4.Windows >= 4.8.0.20230708
  • OpenCvSharp4.Extensions >= 4.8.0.20230708

2.2 安装方式

  NuGet Package 可以通过Visual Studio 安装或者通过dotnet命令安装,安装方式如下:

dotnet add package OpenVINO.CSharp.API
dotnet add package OpenVINO.runtime.win
dotnet add package OpenCvSharp4.Windows
dotnet add package OpenCvSharp4.Extensions

3. 快速开始

3.1 获取项目源码

git clone https://github.com/guojin-yan/PaddleOCR-OpenVINO-CSharp.git
cd PaddleOCR-OpenVINO-CSharp

3.2 获取预测模型

  项目中所使用的模型均来自于 PaddleOCR ,模型目录可以参考


注意:

  经过测试,OpenVINO目前已经支持PP-OCR 系列模型列表、PP-Structure 系列模型列表中的所有模型,并且支持Paddlepaddle格式的模型,用户在下载后可以直接使用,但是表格识别模型ppstructure_mobile_v2.0_SLANet需要进行转换才可以使用,需要固定模行输入形状为[1, 3, 488, 488],转换方式keyi 参考该文章:Paddle2ONNX.

  为了方便大家快速使用,此处提供了模型的快速下载方式:

cd model
./ocr_model_download.sh
./stru_model_download.sh

  下载后模型文件目录结构为:

model
├──── paddle
├──── ch_ppocr_mobile_v2.0_cls_infer
├──── ch_PP-OCRv4_det_infer
├──── ch_PP-OCRv4_rec_infer
├──── ch_ppstructure_mobile_v2.0_SLANet_infer
├──── en_ppstructure_mobile_v2.0_SLANet_infer
├──── picodet_lcnet_x1_0_fgd_layout_cdla_infer

3.3 OCR识别

  可以直接通过Visual Studio直接运行该项目或者通过dotnet run指令运行该项目,dotnet run命令如下:

cd PaddleOCR-OpenVINO-CSharp/sample
dotnet run ./../../

  程序运行后输出如下图所示:



4. Contact

  如果您准备使用OpenVINO部署PaddleOCR模型,欢迎参考本案例。在使用中有任何问题,可以通过以下方式与我联系。

【OpenVINO】 使用 OpenVINO CSharp API 部署 PaddleOCR 项目介绍的更多相关文章

  1. 信步漫谈之Jenkins—集成自动化部署 SVN 项目

    一.环境准备 1)Jenkins 部署 WAR 包:jenkins.war(2.164.2 版本,WAR 包官方下载路径:https://jenkins.io/download/)2)Tomcat 服 ...

  2. 【SpringBoot】单元测试进阶实战、自定义异常处理、t部署war项目到tomcat9和启动原理讲解

    ========================4.Springboot2.0单元测试进阶实战和自定义异常处理 ============================== 1.@SpringBoot ...

  3. 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目

    第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目 scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:h ...

  4. CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目

    原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...

  5. Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)

    Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...

  6. python3.8.0 Django 开发后端接口api 部署到 Linux Centos7上

    经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是pyt ...

  7. docker中部署django项目~~Dockfile方式和compose方式

    1.  背景:   本机win10上,后端django框架代码与前端vue框架代码联调通过. 2.  目的:   在centos7系统服务器上使用docker容器部署该项目. 3.  方案一:仅使用基 ...

  8. scrapdy部署爬虫项目

    原文:https://blog.csdn.net/JLaiRen/article/details/82902321 scrapyd安装 打开命令行工具输入命令:pip install scrapyd ...

  9. 小白从零开始阿里云部署react项目+node服务接口(二:node服务+web)

    我们用极简的方式来创建服务,没有任何附加功能 1 新建一个server文件夹 2 使用npm init 或者yarn init  一路enter 3  yarn add  express cors  ...

  10. .net core Api 部署到Linux

    一.环境介绍 1..net开发环境:asp.net core 3.1 2.Linux环境:CentOS Linux release 7.9.2009 (Core) 3.Swagger: Swashbu ...

随机推荐

  1. 其它——ZeroRPC和SimpleXMLRPCServer

    文章目录 一 Python中RPC框架 二 SimpleXMLRPCServer使用 服务端 客户端 三 ZeroRPC使用 服务端 客户端 一 Python中RPC框架 自带的:SimpleXMLR ...

  2. 将python程序打包为exe可执行文件方法

    将py打包为exe文件需要依赖pyinstaller第三方库 -F:打包后只生成单个exe格式文件: -D:默认选项,创建一个目录,包含exe文件以及大量依赖文件: -c:默认选项,使用控制台(就是类 ...

  3. code2uml使用教程

    通常的开发顺序是 先设计uml然后进行code编程. 但是很多时候我们是先看到code源码,却不知道uml关系如何. 特别是写论文的时候也是很需要的. 这个code2uml,就是辛苦搜寻到的结果,可以 ...

  4. 基于 P-Tuning v2 进行 ChatGLM2-6B 微调实践

    微调类型简介 1. SFT监督微调:适用于在源任务中具有较高性能的模型进行微调,学习率较小.常见任务包括中文实体识别.语言模型训练.UIE模型微调.优点是可以快速适应目标任务,但缺点是可能需要较长的训 ...

  5. 【技术积累】《MongoDB实战》笔记(1)

    <MongoDB实战>笔记 第一章 为现代Web而生的数据库 特性 mongodb适合做水平扩展的数据库. mongodb把文档组织成集合,无schema. 索引 mongodb的二级索引 ...

  6. 使用go语言开发hive导出工具

    前言 新版 hive 提供了 beeline 工具,可以执行SQL并导出数据,不过操作还是有点复杂的,团队里有些同学不会Linux的基本操作,所以我花了亿点点时间写了个交互式的命令行工具方便使用. 效 ...

  7. 一款简单漂亮的WPF UI - AduSkin

    前言 经常会有同学会问,有没有好看简单的WPF UI库推荐的.今天就给大家推荐一款简单漂亮的WPF UI,融合多个开源框架组件:AduSkin. WPF是什么? WPF 是一个强大的桌面应用程序框架, ...

  8. 记一次有趣的 buffer overflow detected 问题分析

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   无 前言   在我开发的一个实验和学习库中,在很久 ...

  9. 记一次 .NET 某工厂无人车调度系统 线程爆高分析

    一:背景 1. 讲故事 前些天有位朋友找到我,说他程序中的线程数爆高,让我帮忙看下怎么回事,这种线程数爆高的情况找问题相对比较容易,就让朋友丢一个dump给我,看看便知. 二:为什么会爆高 1. 查看 ...

  10. QSplitter 自我总结

    ①.QSplitter(QWidget* parent = Q_NULLPTR); //构造函数 QSplitter(Qt::Orientation orientation , QWidget* pa ...