PaddleOCR 2.6的使用,GPU,cuda11.6,cudnn8.4,win10,C#

文章对比了使用PaddleOCR在GPU、CPU以及TensorRT上的运行时间,发现GPU处理大约140ms,CPU约400ms,尝试TensorRT但未成功配置。在原生C++中,TensorRT达到166ms,比PaddleOCR包慢。
摘要由CSDN通过智能技术生成

首先下载PaddleOCR2.6如下包

using OpenCvSharp;
using Sdcb.PaddleInference;
using Sdcb.PaddleOCR;
using Sdcb.PaddleOCR.Models;
using Sdcb.PaddleOCR.Models.LocalV3;
using System.Diagnostics;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WinFormsApp17
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }



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


            all = new PaddleOcrAll(model, PaddleDevice.Gpu())
            {
                AllowRotateDetection = true, /* 允许识别有角度的文字 */
                Enable180Classification = false, /* 允许识别旋转角度大于90度的文字 */
            };
        }

        private void button1_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            for (int i = 0; i < 10; i++) 
            {
                Stopwatch stp = new Stopwatch();
                stp.Start();

                byte[] sampleImageData = File.ReadAllBytes(@"C:\Users\xuc\Desktop\lite_demo.png");


                using (Mat src = Cv2.ImDecode(sampleImageData, ImreadModes.Color))
                {
                    PaddleOcrResult result = all.Run(src);
                    stp.Stop();
                    richTextBox1.AppendText("Total: " + stp.ElapsedMilliseconds + "ms\r\n");

                    foreach (PaddleOcrResultRegion region in result.Regions)
                    {
                        richTextBox1.AppendText(region.Text + "\r\n");
                        // richTextBox1.AppendText($"Text: {region.Text}, Score: {region.Score}, RectCenter: {region.Rect.Center}, RectSize:    {region.Rect.Size}, Angle: {region.Rect.Angle}" + "\r\n");


                    }
                }
            }
        }
    }
}

 GPU大概140ms,CPU大概400ms。分辨率400*300,

RTX2060,i5 10400,cuda11.6,cudnn8.4。

tensorrt没调通,包不太对,命令行也没报警,要么没输出,感觉应该能比gpu快一半。

------------------------------------------

试了一下编译原生c++的代码,GPU 230ms,TensorRT8.4 166ms。没有这个包快,不知道哪里不对。c和c++应该差不了这么多。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PaddleOCR 2.6是一个开源项目,旨在提供便捷易用的OCR(Optical Character Recognition,光学字符识别)解决方案。以下是对PaddleOCR 2.6教程的简要说明。 PaddleOCR 2.6支持多种OCR任务,包括文本检测、文本识别、关键点检测和词语领域识别。该版本还提供了预训练模型,以便用户可以快速使用。对于文本检测任务,PaddleOCR 2.6使用PaddleDetection库实现的预训练模型,该模型能够从图像中检测出包含文字的区域。对于文本识别任务,PaddleOCR 2.6使用CRNN(Convolutional Recurrent Neural Network)模型,该模型能够识别出文字内容。 在使用PaddleOCR 2.6之前,需要安装PaddlePaddle深度学习框架及其相关依赖项。然后,需要从PaddleOCR GitHub仓库下载代码并将其解压到本地。通过运行demo.py文件,可以对图像进行OCR任务的演示。API接口也提供了更多个性化定制的功能。 在使用PaddleOCR 2.6时,可以根据自己的需求选择不同的模型进行文本检测和识别任务。还可以通过调整模型超参数和预处理方法来优化模型性能。PaddleOCR 2.6还支持多种语言,包括英文、中文、韩文和日文等。 总之,PaddleOCR 2.6是一个功能强大且易于使用OCR解决方案,它提供了多种OCR任务的预训练模型和个性化定制选项。无论是在商业应用中还是学术研究中,PaddleOCR 2.6都能帮助用户高效地处理图像中的文字内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值