[C#]利用paddleocr进行表格识别

发布时间:2024年01月13日

【官方框架地址】

https://github.com/PaddlePaddle/PaddleOCR.git
【算法介绍】

PaddleOCR表格识别是PaddlePaddle开源项目中的一个强大功能,它利用深度学习技术实现了对各类表格的高精度识别。PaddleOCR表格识别能够处理各种复杂的表格,包括但不限于Excel、CSV和PDF表格,具有广泛的应用场景。

PaddleOCR表格识别的核心是深度学习模型,采用了先进的卷积神经网络和序列模型等技术,能够自动学习和提取表格中的文字、数字和结构信息。通过训练大量的数据集,模型能够逐渐提高识别的准确率和稳定性。

使用PaddleOCR表格识别非常方便,用户只需上传需要识别的表格文件,系统会自动进行预处理和识别,并输出识别的结果。识别的结果可以以文本、数字和结构化的形式展示,方便用户进行后续的数据分析和处理。

此外,PaddleOCR表格识别还支持多种语言和字符集,能够满足不同国家和地区的需求。同时,系统还提供了可定制化的服务,用户可以根据自己的需求进行模型训练和优化,提高识别的准确率和效率。

总的来说,PaddleOCR表格识别是一种高效、准确、易用的表格识别工具,能够帮助用户快速地提取和处理各种表格中的信息。无论是数据分析和可视化领域,还是办公自动化和文档处理领域,PaddleOCR表格识别都具有广泛的应用前景

【效果展示】


【官方实现部分代码】

FullOcrModel model = LocalFullModels.ChineseV3;

byte[] sampleImageData;
string sampleImageUrl = @"https://www.tp-link.com.cn/content/images2017/gallery/4288_1920.jpg";
using (HttpClient http = new HttpClient())
{
    Console.WriteLine("Download sample image from: " + sampleImageUrl);
    sampleImageData = await http.GetByteArrayAsync(sampleImageUrl);
}

using (PaddleOcrAll all = new PaddleOcrAll(model, PaddleDevice.Mkldnn())
{
    AllowRotateDetection = true, /* 允许识别有角度的文字 */ 
    Enable180Classification = false, /* 允许识别旋转角度大于90度的文字 */
})
{
    // Load local file by following code:
    // using (Mat src2 = Cv2.ImRead(@"C:\test.jpg"))
    using (Mat src = Cv2.ImDecode(sampleImageData, ImreadModes.Color))
    {
        PaddleOcrResult result = all.Run(src);
        Console.WriteLine("Detected all texts: \n" + result.Text);
        foreach (PaddleOcrResultRegion region in result.Regions)
        {
            Console.WriteLine($"Text: {region.Text}, Score: {region.Score}, RectCenter: {region.Rect.Center}, RectSize:    {region.Rect.Size}, Angle: {region.Rect.Angle}");
        }
    }
}


【源码下载】
【测试环境】

vs2019

netframework4.7.2

opencvsharp4.8.0
?

文章来源:https://blog.csdn.net/FL1623863129/article/details/135570852
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。