RapidOCR.Net
0.0.2
dotnet add package RapidOCR.Net --version 0.0.2
NuGet\Install-Package RapidOCR.Net -Version 0.0.2
<PackageReference Include="RapidOCR.Net" Version="0.0.2" />
<PackageVersion Include="RapidOCR.Net" Version="0.0.2" />
<PackageReference Include="RapidOCR.Net" />
paket add RapidOCR.Net --version 0.0.2
#r "nuget: RapidOCR.Net, 0.0.2"
#:package RapidOCR.Net@0.0.2
#addin nuget:?package=RapidOCR.Net&version=0.0.2
#tool nuget:?package=RapidOCR.Net&version=0.0.2
RapidOcrNet
Cross-platform OCR processing library using PaddleOCR ONNX models, and based on original code from RapidAI's RapidOCR.
The code was optimised to remove dependencies on System.Drawing
and OpenCV
. The image processing is now done only using SkiaSharp
and PContourNet
.
Note: This is a fork of the original RapidOcrNet repository and the NuGet package is independently published. It is not an official release from the RapidOCR team.
Installation
Install via NuGet Package Manager:
dotnet add package RapidOCR.Net
Or via Package Manager Console:
Install-Package RapidOCR.Net
Usage
string targetImg = "image.png";
using (var ocrEngin = new RapidOcr())
{
ocrEngin.InitModels();
using (SKBitmap originSrc = SKBitmap.Decode(targetImg))
{
OcrResult ocrResult = ocrEngin.Detect(originSrc, RapidOcrOptions.Default);
Console.WriteLine(ocrResult.ToString());
Console.WriteLine(ocrResult.StrRes);
Console.WriteLine();
// Draw bounding boxes
foreach (var block in ocrResult.TextBlocks)
{
var points = block.BoxPoints;
using (var canvas = new SKCanvas(originSrc))
using (var paint = new SKPaint() { Color = SKColors.Red })
{
canvas.DrawLine(points[0], points[1], paint);
canvas.DrawLine(points[1], points[2], paint);
canvas.DrawLine(points[2], points[3], paint);
canvas.DrawLine(points[3], points[0], paint);
}
}
using (var fs = new FileStream(Path.ChangeExtension(targetImg, "_ocr.png"), FileMode.Create))
{
originSrc.Encode(fs, SKEncodedImageFormat.Png, 100);
}
}
}
Notice
Based on source code originally developed in the RapidOCR project (Apache-2.0 license).
Uses parts of source code originally developed in the PdfPig project (Apache-2.0 license).
The dependency on OpenCV was removed thanks to the PContour library and its C# port.
The models made available are from the PaddleOCR project (Apache-2.0 license) and were converted to ONNX using the Paddle2ONNX tool.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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 is compatible. 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. |
-
net8.0
- Clipper2 (>= 1.4.0)
- Microsoft.ML.OnnxRuntime (>= 1.18.1)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.18.1)
- SkiaSharp (>= 2.88.8)
- SkiaSharp.NativeAssets.Linux (>= 2.88.8)
-
net9.0
- Clipper2 (>= 1.4.0)
- Microsoft.ML.OnnxRuntime (>= 1.18.1)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.18.1)
- SkiaSharp (>= 2.88.8)
- SkiaSharp.NativeAssets.Linux (>= 2.88.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.