【官方框架地址】
https://github.com/PaddlePaddle/PaddleOCR
【算法介绍】
OpenVINO和PaddleOCR都是用于计算机视觉应用的工具,但它们有不同的特点和用途。OpenVINO是一个由Intel开发的开源工具套件,主要用于加速深度学习推理,而PaddleOCR是PaddlePaddle框架的一个组件,主要用于光学字符识别(OCR)。
下面将介绍如何使用OpenVINO调用PaddleOCR,主要分为以下步骤:
需要注意的是,由于OpenVINO和PaddleOCR都是深度学习工具,因此需要一定的计算机视觉和深度学习知识才能正确使用它们。此外,由于它们都是大型工具套件,因此安装和配置可能需要一些时间和经验。
【效果展示】
【实现部分代码】
string detectionModelDir = Application.StartupPath + "\\weights\\ch_PP-OCRv4_det_infer";
string classificationModelDir = Application.StartupPath + "\\weights\\ch_ppocr_mobile_v2.0_cls_infer";
string recognitionModelDir = Application.StartupPath + "\\weights\\ch_PP-OCRv4_rec_infer";
string labelFilePath = Application.StartupPath + "\\weights\\ppocr_keys_v1.txt";
FullOcrModel model = FullOcrModel.FromDirectory(detectionModelDir, classificationModelDir, recognitionModelDir, labelFilePath, ModelVersion.V4);
PaddleOcrAll all = new PaddleOcrAll(model);
all.AllowRotateDetection = true; /* 允许识别有角度的文字 */
all.Enable180Classification = false; /* 允许识别旋转角度大于90度的文字 */
Stopwatch sw = new Stopwatch();
sw.Start();
PaddleOcrResult result = all.Run(src);
sw.Stop();
Console.WriteLine("总耗时是:" + sw.Elapsed.TotalSeconds + "秒");
tb_res.Text = result.Text;
foreach (PaddleOcrResultRegion item in result.Regions)
{
Cv2.Rectangle(src, item.Rect.BoundingRect(), new Scalar(255, 0, 0));
}
pictureBox2.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);
【视频演示】
https://www.bilibili.com/video/BV1iK4y1q7kk/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee
【源码下载】
【测试环境】
vs2019,netframework4.7.2
?