PaddlePaddle(飞桨)是由百度开发的深度学习平台,提供全面的、灵活的工具集,支持开发者构建、训练和部署各种深度学习模型。飞桨具有开源性、高度灵活性、可扩展性,并支持分布式训练,适用于服务器、移动设备和边缘设备的端到端部署。

PaddleOCR 是基于飞桨开发的开源光学字符识别(OCR)工具,提供端到端的 OCR 解决方案,包括文本检测、识别和关键点检测等功能。它支持多语言文本识别,具有高精度和广泛的应用场景。

PaddleSharp 是一个为 C# 开发者设计的飞桨框架封装库,使得开发者能够在 C# 环境中便捷地使用飞桨的深度学习功能,支持模型构建、训练和部署。

设计一个简单的 WinForms 界面,包含两个按钮、一个富文本框和一个 PictureBox,用于加载图片和显示文字识别结果。

安装 Nuget 包:通过 NuGet 安装 PaddleSharp 相关包。
图片文字识别代码实现:
创建 `FullOcrModel` 对象,选择预训练模型。
实例化 `PaddleOcrAll` 对象,配置 OCR 参数。
使用 OpenCV 读取图片并传递给 PaddleOCR 模型。
显示识别结果。

```csharp
using OpenCvSharp;
using Sdcb.PaddleInference;
using Sdcb.PaddleOCR.Models.Local;
using Sdcb.PaddleOCR.Models;
using Sdcb.PaddleOCR;
using System.Diagnostics;


namespace PaddleSharpDemo
{
    public partial class Form1 : Form
    {
        string selectedPicture;


        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            // 图片加载逻辑...
        }


        private void button2_Click(object sender, EventArgs e)
        {
            FullOcrModel model = LocalFullModels.ChineseV3;


            using (PaddleOcrAll all = new PaddleOcrAll(model, PaddleDevice.Mkldnn)
            {
                AllowRotateDetection = true,
                Enable180Classification = false,
            })
            {
                using (Mat src2 = Cv2.ImRead(selectedPicture))
                {
                    PaddleOcrResult result = all.Run(src2);
                    richTextBox1.Text = result.Text;
                }
            }
        }
    }
}
```
除了 C#,PaddleOCR 还可通过命令行或 Python 脚本使用。以下是 Python 脚本的使用示例:


```python
from paddleocr import PaddleOCR, draw_ocr


ocr = PaddleOCR(use_angle_cls=True, lang="ch")
img_path = 'path_to_your_image.png'
result = ocr.ocr(img_path, cls=True)


for line in result[0]:
    print(line)


# 显示结果
# Python 代码继续...
```


PaddleOCR 提供了一个高效、准确且易于集成的 OCR 解决方案。相比其他非开源的 OCR 工具,PaddleOCR 提供了更多的灵活性和选择性。希望我的分享能帮助大家快速上手 PaddleOCR,在 C# 项目中实现文字识别功能。

- EOF -

技术群:添加小编微信dotnet999

公众号:dotnet讲堂

GitHub 加速计划 / pa / PaddleOCR
41.53 K
7.59 K
下载
Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
最近提交(Master分支:3 个月前 )
7bbda2bc 8 天前
1d4e7a80 10 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐