【官方框架地址】
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
?