前言:

  在之前的项目中,我们已经使用 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. IP协议:连接你我,掌握互联网的关键

    IP 基本认识 在之前的章节中,我们已经详细介绍了应用层和传输层的相关概念和原理,了解了进程之间如何进行可靠的数据传输.我们知道,传输层的头部包含了进程所使用的端口信息,这是为了确保数据能够正确地传递 ...

  2. Springboot简单功能示例-3 实现基本登录验证

    springboot-sample 介绍 springboot简单示例 跳转到发行版 查看发行版说明 软件架构(当前发行版使用) springboot hutool-all 非常好的常用java工具库 ...

  3. 卷积导向快速傅里叶变换(FFT/NTT)教程

    1 Forewords 卷积,但不止卷积 - FFT 漫谈 先有 FT,再有 DFT,才有 FFT 时频转换是最初的用途 发现单位根优秀性质,James Cooley, John Tukey 发明现代 ...

  4. Django框架项目之项目基础——项目介绍、需求分析、pip安装源、环境搭建、前台、后台、跨域请求

    文章目录 1 路飞学城 1.1 企业的web项目类型 1.2 企业项目开发流程 1.3 立项申请阶段 2. 需求分析 2.1 首页 2.2 登录注册 2.3 课程列表 2.4 课程详情 2.5 购物车 ...

  5. NFC and Contactless Technologies

    NFC and Contactless Technologies NFC与无接触技术 NFC technology enables simple and safe two-way interactio ...

  6. js仿百度搜索框

    1.js仿百度搜索框 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  7. [Python急救站]文本进度条

    完游戏的朋友们,是不是看到那种加载加载进度条,感觉特别不错呢,所以今天就来看看文本进度条怎么做. 1.基本的多行文本进度条 import time scale = 10 # 变量scale表示输出进度 ...

  8. 使用 Vue 3 插件(Plugin)实现 OIDC 登录和修改密码(OIDC 系统以 Keycloak 为例)

    背景 目前单位系统常用 Keycloak 作为认证系统后端,而前端之前写的也比较随意,这次用 Vue 3 插件以及 Ref 响应式来编写这个模块.另外,这个可能是全网唯一使用 keycloak 的 O ...

  9. Azure Data Factory(十)Data Flow 组件详解

    一,引言 随着大数据技术的不断发展,数据处理和分析变得越来越重要.为了满足企业对数据处理的需求,微软推出了 Azure Data Factory (ADF),它是一个云端的数据集成服务,用于创建.安排 ...

  10. JS中有哪几种继承方式

    JS和Java中虽然都有对象的概念,但这两种对象却大有不同.Java的对象是基于类创建的,JS的对象却是基于一个特殊的对象--原型对象--创建的,之前看到一个盖房子的比喻,在Java中盖房子是先画好图 ...