Sdcb.OpenVINO
0.8.1
Prefix Reserved
dotnet add package Sdcb.OpenVINO --version 0.8.1
NuGet\Install-Package Sdcb.OpenVINO -Version 0.8.1
<PackageReference Include="Sdcb.OpenVINO" Version="0.8.1" />
<PackageVersion Include="Sdcb.OpenVINO" Version="0.8.1" />
<PackageReference Include="Sdcb.OpenVINO" />
paket add Sdcb.OpenVINO --version 0.8.1
#r "nuget: Sdcb.OpenVINO, 0.8.1"
#:package Sdcb.OpenVINO@0.8.1
#addin nuget:?package=Sdcb.OpenVINO&version=0.8.1
#tool nuget:?package=Sdcb.OpenVINO&version=0.8.1
OpenVINO.NET

High quality .NET wrapper for OpenVINO™ toolkit.
Please check my cnblogs blog for more details:
- 博客园 20231015-sdcb-openvino-net
- PaddleOCR tutoria video:
- How to use, run offline, GPU inference, performance tuning:
- Deploy on different Linux platforms including OrangePI-4 LTS:
Packages
Main packages
| Package | Version | Description |
|---|---|---|
| Sdcb.OpenVINO | 0.7.1 | .NET PInvoke interface |
| Sdcb.OpenVINO.Extensions.OpenCvSharp4 | 0.7.0 | OpenVINO OpenCvSharp4 extensions |
| Sdcb.OpenVINO.PaddleOCR | 0.8.0 | OpenVINO Paddle OCR Toolkit |
| Sdcb.OpenVINO.PaddleOCR.Models.Online | 0.8.0 | Online Models for OpenVINO Paddle OCR |
Platform shared runtime packages
Current Sdcb.OpenVINO native runtime packages target OpenVINO 2026.2.0 only. On Linux/macOS, the loader only resolves the 2620 native library suffix, such as libopenvino_c.so.2620 and libopenvino_c.2620.dylib.
| Package | Version | Description |
|---|---|---|
| Sdcb.OpenVINO.runtime.android-x64 | 2026.2.0 | Runtime for Android x64 |
| Sdcb.OpenVINO.runtime.centos.8-x64 | 2026.2.0 | Runtime for CentOS 8 x64 |
| Sdcb.OpenVINO.runtime.linux-arm | 2026.2.0 | Runtime for Debian 9+ ARM |
| Sdcb.OpenVINO.runtime.osx.12.6-arm64 | 2026.2.0 | Runtime for macOS 12.6 ARM64 |
| Sdcb.OpenVINO.runtime.rhel.8-x64 | 2026.2.0 | Runtime for RHEL 8 x64 |
| Sdcb.OpenVINO.runtime.ubuntu.22.04-arm64 | 2026.2.0 | Runtime for Ubuntu 22.04 ARM64 |
| Sdcb.OpenVINO.runtime.ubuntu.22.04-x64 | 2026.2.0 | Runtime for Ubuntu 22.04 x64 |
| Sdcb.OpenVINO.runtime.ubuntu.24.04-x64 | 2026.2.0 | Runtime for Ubuntu 24.04 x64 |
| Sdcb.OpenVINO.runtime.win-mt-x64 | 2026.2.0 | Runtime for Windows x64 with VC MT runtime |
| Sdcb.OpenVINO.runtime.win-x64 | 2026.2.0 | Runtime for Windows x64 |
Infer examples:
Install packages:
- Sdcb.OpenVINO
- A matching
Sdcb.OpenVINO.runtime.*package from the table above - Optional:
Sdcb.OpenVINO.Extensions.OpenCvSharp4,OpenCvSharp4, and a matching OpenCvSharp4 runtime package if you need OpenCvSharp integration
For Windows x64, install either Sdcb.OpenVINO.runtime.win-x64 or Sdcb.OpenVINO.runtime.win-mt-x64.
Yolov8 models inference example:
Face detection example:
Please refer to this project
PaddleOCR example:
Please refer to this project
Projects
Sdcb.OpenVINO.PaddleOCR
Packages
| Package | Version | Description |
|---|---|---|
| Sdcb.OpenVINO.PaddleOCR | 0.8.0 | OpenVINO Paddle OCR Toolkit |
| Sdcb.OpenVINO.PaddleOCR.Models.Online | 0.8.0 | Online Models for OpenVINO Paddle OCR |
Usage
You can refer to this github for mini-openvino-paddleocr demo: https://github.com/sdcb/mini-openvino-paddleocr
Actually it's very similar to my another project PaddleSharp
PP-OCRv6 ONNX online models
Sdcb.OpenVINO.PaddleOCR.Models.Online provides PP-OCRv6 Chinese ONNX model presets:
| Model | Detection | Recognition | Text line 180-degree classifier | Document orientation classifier |
|---|---|---|---|---|
OnlineFullModels.ChineseV6Medium |
PP-OCRv6_medium_det_onnx_infer |
PP-OCRv6_medium_rec_onnx_infer |
PP-LCNet_x1_0_textline_ori_onnx_infer |
PP-LCNet_x1_0_doc_ori_onnx_infer |
OnlineFullModels.ChineseV6Small |
PP-OCRv6_small_det_onnx_infer |
PP-OCRv6_small_rec_onnx_infer |
PP-LCNet_x0_25_textline_ori_onnx_infer |
PP-LCNet_x1_0_doc_ori_onnx_infer |
OnlineFullModels.ChineseV6Tiny |
PP-OCRv6_tiny_det_onnx_infer |
PP-OCRv6_tiny_rec_onnx_infer |
PP-LCNet_x0_25_textline_ori_onnx_infer |
PP-LCNet_x1_0_doc_ori_onnx_infer |
using OpenCvSharp;
using Sdcb.OpenVINO;
using Sdcb.OpenVINO.PaddleOCR;
using Sdcb.OpenVINO.PaddleOCR.Models;
using Sdcb.OpenVINO.PaddleOCR.Models.Online;
FullOcrModel model = await OnlineFullModels.ChineseV6Small.DownloadAsync();
using PaddleOcrAll ocr = new(model, new PaddleOcrOptions(new DeviceOptions("CPU")))
{
AllowRotateDetection = true,
Enable180Classification = true,
// Disabled by default. Enable it only when the input may be a full page
// rotated by 0, 90, 180 or 270 degrees.
EnableDocumentOrientationClassification = true,
};
using Mat src = Cv2.ImRead("test.jpg");
PaddleOcrResult result = ocr.Run(src);
Console.WriteLine(result.Text);
Notes:
- PP-OCRv6 recognition labels are loaded from the downloaded model
inference.yml. - PP-OCRv6 detection uses the official DB postprocess defaults:
BoxThreshold = 0.2,BoxScoreThreahold = 0.45,UnclipRatio = 1.4. These properties can still be overwritten after constructingPaddleOcrDetector. - Full-document orientation classification is not enabled by default, even when the selected
OnlineFullModelspreset includes the document orientation model.
The detector, text line classifier, recognizer, and document orientation classifier can also be used independently:
using OpenCvSharp;
using Sdcb.OpenVINO;
using Sdcb.OpenVINO.PaddleOCR;
using Sdcb.OpenVINO.PaddleOCR.Models.Online;
using Mat src = Cv2.ImRead("document.jpg");
using PaddleOcrDocumentOrientationClassifier docOrientation = new(
await OnlineDocumentOrientationClassificationModel.PPDocOrientationX10.DownloadAsync(),
new DeviceOptions("CPU"));
PaddleOcrDocumentOrientationResult orientation = docOrientation.Run(src);
using Mat upright = orientation.RotateToUpright(src);
using PaddleOcrClassifier textLineOrientation = new(
await OnlineOnnxClassificationModel.TextLineOrientationX025.DownloadAsync(),
new DeviceOptions("CPU"));
Ocr180DegreeClsResult lineResult = textLineOrientation.ShouldRotate180(upright);
LICENSE
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Memory (>= 4.6.3)
- System.ValueTuple (>= 4.6.1)
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Memory (>= 4.6.3)
-
net5.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sdcb.OpenVINO:
| Package | Downloads |
|---|---|
|
Sdcb.OpenVINO.PaddleOCR
Multilingual PaddleOCR toolkits based on OpenVINO |
|
|
Sdcb.OpenVINO.Extensions.OpenCvSharp4
High quality .NET wrapper for OpenVINO™ toolkit. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Sdcb.OpenVINO:
| Repository | Stars |
|---|---|
|
shuyu-labs/Windows-MCP.Net
A .NET-based Windows desktop automation MCP (Model Context Protocol) server that provides AI assistants with the ability to interact with the Windows desktop environment.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 0.8.1 | 353 | 6/15/2026 |
| 0.7.1 | 216 | 6/11/2026 |
| 0.7.0 | 2,224 | 6/24/2025 |
| 0.6.10 | 1,979 | 2/11/2025 |
| 0.6.9 | 590 | 12/16/2024 |
| 0.6.8 | 2,664 | 9/23/2024 |
| 0.6.7 | 247 | 9/23/2024 |
| 0.6.6 | 2,813 | 6/19/2024 |
| 0.6.5 | 1,227 | 4/30/2024 |
| 0.6.4 | 978 | 3/8/2024 |
| 0.6.3 | 319 | 2/28/2024 |
| 0.6.2 | 388 | 2/6/2024 |
| 0.6.1 | 3,460 | 11/28/2023 |
| 0.6.0 | 283 | 11/25/2023 |
| 0.5.4 | 383 | 11/6/2023 |
| 0.5.3 | 255 | 11/2/2023 |
| 0.5.2 | 277 | 11/1/2023 |
| 0.5.1 | 1,020 | 10/31/2023 |
| 0.4.5 | 478 | 10/22/2023 |