c#深度学习—PaddleOCRSharp(附示例源码)

这篇具有很好参考价值的文章主要介绍了c#深度学习—PaddleOCRSharp(附示例源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PaddleOCRSharp是基于PaddleOCR的C++代码修改并封装的.NET工具类库,支持文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能。

PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大的方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。

目录

 一、准备环境

 二、nuget包安装:

 三、代码如下


跑通了例程代码并根据建议进行了些许优化,代码中注释详细,自行阅读。

该项目只支持x64cpu编译

一、准备环境

1、先创建一个窗体项目,添加一个按钮(我的是VS2017)

2、项目-属性-生成。配置和图中一样即可

c# paddleocr,c#,开发语言        

c# paddleocr,c#,开发语言

二、nuget包安装:

c# paddleocr,c#,开发语言

 三、代码如下

using PaddleOCRSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PaddleOCRSharp1._0
{
    public partial class Form1 : Form
    {
        //程序全局初始化一次即可,不必每次识别都初始化,容易报错。
        // 初始化OCR模型配置,默认中英文V3模型
        OCRModelConfig config = null;
        // 初始化OCR参数
        OCRParameter oCRParameter = new OCRParameter();
        // 创建一个OCR识别结果对象
        OCRResult ocrResult = new OCRResult();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 创建对象,设置文件过滤器
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";

            // 显示文件选择对话框,选择要识别文字的图像文件
            if (ofd.ShowDialog() != DialogResult.OK)
            {                
                return;
            }

            // 读取选择的图像文件的所有字节数据
            var imagebyte = File.ReadAllBytes(ofd.FileName);

            // 将字节数据转换成Bitmap图像对象
            Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));
        
            // 创建PaddleOCR引擎,使用之前初始化的配置和参数
            PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);

            // 使用PaddleOCR引擎对图像进行文字识别
            // OCR识别结果会保存在ocrResult对象中
            
                ocrResult = engine.DetectText(bitmap);
            

            // 如果识别结果不为空,显示识别出的文字内容
            if (ocrResult != null)
            {
                // 弹出一个消息框,显示识别出的文字内容
                MessageBox.Show(ocrResult.Text, "识别结果");
            }

        }
    }
}

demo下载:https://download.csdn.net/download/m0_55074196/88364787

 PaddleOCRSharp的github:

raoyutian/PaddleOCRSharp: This project is modified and encapsulated by C++ code based on Baidu PaddlePaddle OCR. Net class library. It includes the table recognition function of text recognition, text detection and statistical analysis based on text detection results. At the same time, it is optimized to improve the recognition accuracy in the case of inaccurate small image recognition. The project encapsulation is extremely simplified, and the actual call is only one line of code, which greatly facilitates the use of middle and downstream developers and reduces the entry level of paddleocr. At the same time, different functions are provided Net framework to facilitate application development and deployment in various industries. (github.com)https://github.com/raoyutian/PaddleOCRSharp/tree/main文章来源地址https://www.toymoban.com/news/detail-684690.html

到了这里,关于c#深度学习—PaddleOCRSharp(附示例源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# 一个完整的委托、事件学习示例

    该示例符合委托、事件的定义规则,并且可以帮助大家更好地理解委托和事件的使用! 先定义了一个名为 MyEventArgs 的类,继承自 EventArgs ,它包含一个 Message 属性,用于存储传递的消息。 Publisher 类中添加了一个 protected virtual 的方法 OnMyEvent ,用于触发 MyEvent 事件,并传递

    2024年02月07日
    浏览(42)
  • C#开发Windouw窗体之Form窗体及示例(基础)

    Forms窗体也称为窗口,通过窗体可以显示信息、请求用户输入以及通过网络与远程计算机通信。 我们首先要明白三点: 1.窗体也是对象,窗体类定义了生成窗体的模板,每当实例化一个窗体类,就产生一个窗体 2.Form类是所有窗体类的基类。 3.在一个项目中,每个窗体都有自己

    2024年02月02日
    浏览(38)
  • 【深度学习】实验05 构造神经网络示例

    神经网络是一种仿生学原理的机器学习算法,灵感来源于人脑的神经系统。它由多个神经元(或称为节点)组成,这些神经元通过连接权重形成复杂的网络结构,用来学习和提取输入数据的特征,并用于分类、回归、聚类等任务。 注明:该代码用来训练一个神经网络,网络拟

    2024年02月10日
    浏览(44)
  • 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    摘要: 车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符、英文字母、阿拉伯数字及号牌颜色)进行处理的技术。车牌识别是现代智能交通系统中的重要组成部分之一,应用十分广泛。本文详细介绍了 车牌

    2024年02月09日
    浏览(66)
  • 【深度学习】【分布式训练】Collective通信操作及Pytorch示例

    相关博客 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一):并行环境初始化 【Megatron-DeepSpeed】张量并行工具代码mpu详解(二):Collective通信操作的封装mappings 【深度学习】【分布式训练】DeepSpeed:AllReduce与ZeRO-DP 【深度学习】混合精度训练与显存分析 【深度学习】【分布式训练

    2023年04月13日
    浏览(40)
  • 短视频矩阵管理系统源码开发:视频批量剪辑,分发功能开发示例

    源码所需服务器配置 1、规格:最低8核16G 2、硬盘:系统盘40-100G,数据盘不低于100G 3、带宽:10M 4、系统:CentOS7(务必选择7.*) 部署过程中,除对服务器有要求外,还需要提供准备备案域名,域名备案大致需要7-15个工作日,由于地区不同,备案审核的时间周期也不相同。 在视

    2024年02月16日
    浏览(67)
  • 深度学习笔记之循环神经网络(十)基于循环神经网络模型的简单示例

    本节我们将前面介绍的几种 循环神经网络 —— RNN,LSTM,GRU text{RNN,LSTM,GRU} RNN,LSTM,GRU 关于实例中的一个演示,但重点并不仅在于这些模型,这里以 示例 的形式对 One-hot text{One-hot} One-hot 向量 重新进行认知 。 自然语言 ( Natural Language ) (text{Natural Language}) ( Natural Language ) 是人类

    2024年02月07日
    浏览(52)
  • halcon混合c#深度学习平整度怎么写

    Halcon是一款强大的机器视觉库,可以用于图像处理和分析。在Halcon中,可以通过C#语言与深度学习模型进行集成。下面是一个简单的示例,展示了如何使用Halcon和C#编写深度学习平整度的代码: 首先,确保你已经安装了Halcon的开发环境,并在C#项目中引入了Halcon的相关引用。

    2024年04月15日
    浏览(37)
  • 基于PaddleOCR开发懒人精灵文字识别插件

           懒人精灵是 Android 平台上的一款自动化工具,它通过编写 lua 脚本,结合系统的「 无障碍服务 」对 App 进行自动化操作。在文字识别方面它提供的有一款OCR识别插件,但是其中有识别速度慢,插件大的缺点,所以这里将讲解一下如何集成基于PaddleOCR文字识别开发的插

    2024年02月10日
    浏览(79)
  • 医学图像的深度学习的完整代码示例:使用Pytorch对MRI脑扫描的图像进行分割

    图像分割是医学图像分析中最重要的任务之一,在许多临床应用中往往是第一步也是最关键的一步。在脑MRI分析中,图像分割通常用于测量和可视化解剖结构,分析大脑变化,描绘病理区域以及手术计划和图像引导干预,分割是大多数形态学分析的先决条件。 本文我们将介绍

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包