.NET Wrapper for PaddleInference C API, include PaddleOCR
- Install NuGet Packages:
dotnet add package Sdcb.PaddleInference
dotnet add package Sdcb.PaddleInference.runtime.win64.mkl
dotnet add package Sdcb.PaddleOCR
dotnet add package Sdcb.PaddleOCR.KnownModels
dotnet add package OpenCvSharp4
dotnet add package OpenCvSharp4.runtime.win
- write following C# code to get result:
OCRModel model = KnownOCRModel.PPOcrV2;
await model.EnsureAll();
using (PaddleOcrAll all = new PaddleOcrAll(model.RootDirectory, model.KeyPath))
using (Mat src = Cv2.ImRead(@"C:\Users\ZhouJie\Pictures\xdr5480.jpg"))
{
Console.WriteLine(all.Run(src).Text);
}
// Install following packages:
// Sdcb.PaddleInference
// Sdcb.PaddleInference.runtime.win64.mkl
// Sdcb.PaddleOCR
// Sdcb.PaddleOCR.KnownModels
// OpenCvSharp4
// OpenCvSharp4.runtime.win
string inputFile = @"C:\Users\ZhouJie\Pictures\xdr5480.jpg";
OCRModel model = KnownOCRModel.PPOcrV2;
await model.EnsureAll();
using (PaddleOcrDetector detector = new PaddleOcrDetector(model.DetectionDirectory))
using (Mat src = Cv2.ImRead(inputFile))
{
Rect[] rects = detector.Run(src);
using (Mat clone = src.Clone())
{
foreach (Rect rect in rects)
{
clone.Rectangle(rect, Scalar.Red, thickness: 2);
}
string outputFile = Path.Combine(Path.GetDirectoryName(inputFile), "output.jpg");
clone.ImWrite(outputFile);
}
}