c# 开发文字识别软件

 更新时间:2020年12月14日 11:14:09   作者:沐汐Vicky  
这篇文章主要介绍了c# 开发文字识别软件的方法,帮助大家更好的利用c#进行文字识别,感兴趣的朋友可以了解下

本文主要讨论C#开发使用百度文字识别OCR来识别文字,本文最后会提供本安全源代码以及运行软件包,如有需要可自行下载

开发流程如下:

1. 创建百度应用:

  创建应用之后就能看到创建完的应用和 API KEY 以及 Secret KEY了,在调用API时需传入这些配置值

  详见:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index

2. 引用 Baidu.Aip (SDK)

  Baidu.Aip 封闭了文字识别Ocr API 的Http请求,简化代码,提高开发效率。如果不想引用该DLL,可以自己封装Http请求方法。

  C# SDK 现已开源,快速接入文档参考:https://ai.baidu.com/ai-doc/OCR/ok3h7y6zw

3. 调用API,

  这里仅展示通用及高精度识别示例,特殊场景识别,详见官方文档:https://ai.baidu.com/ai-doc/OCR/Mk3h7y6j8

/// <summary>
    /// 调用百度 API 识别文字
    /// </summary>
    /// <param name="imgPath">图片路径</param>
    /// <param name="accurate">是否高精度</param>
    /// <returns></returns>
    public BaiduRetOcr Recognize(string imgPath, bool accurate)
    {
      try
      {
        string appId, apiKey, secretKey;
        if(!RiverAuth.Instant.GetOcrApiConfig(out appId, out apiKey, out secretKey))// 读取应用配置
          return new BaiduRetOcr();
        var client = new Baidu.Aip.Ocr.Ocr(apiKey, secretKey);
        client.Timeout = (int)ConfigUtil.GetConfig(EnumConfigKey.ClientTimeOut, 60 * 1000);
        var image = File.ReadAllBytes(imgPath);
        // 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
        var result = client.GeneralBasic(image);
        // 如果有可选参数
        var options = new Dictionary<string, object>{
          {"language_type", "CHN_ENG"},
          {"detect_direction", "true"},
          {"detect_language", "true"},
          {"probability", "true"}
        };
        // 带参数调用通用文字识别, 图片参数为本地图片
        if (accurate)
        {
          result = client.AccurateBasic(image, options);
        }
        else
          result = client.GeneralBasic(image, options);
        return result.ToObject<BaiduRetOcr>();
      }
      catch (Exception ex) {
        MsgUtil.Error("识别错误:"+ex.Message);
        return new BaiduRetOcr();
      }
      finally
      {
      }
    }

4. 识别结果

原图片:

图片识别结果:

 5. 源代码及软件包下载

软件开源代码地址(集成项目):https://gitee.com/bidev_admin/river-int-ai.git

运行软件包下载地址(.Net Framework 4.5): https://pan.baidu.com/s/1z-WFDGHhEP8tqLqwp9I0Mw  提取码:  r3sk 

作者:沐汐 Vicky
出处:http://www.cnblogs.com/EasyInvoice

以上就是c# 开发文字识别软件的详细内容,更多关于c# 文字识别的资料请关注脚本之家其它相关文章!

相关文章

  • C#交错数组用法实例

    C#交错数组用法实例

    这篇文章主要介绍了C#交错数组用法,较为详细的分析了交错数组的概念、用法并实例分析了交错数组的使用技巧,需要的朋友可以参考下
    2015-04-04
  • unity 鼠标移入弹出UI的操作

    unity 鼠标移入弹出UI的操作

    这篇文章主要介绍了unity 鼠标移入弹出UI的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C# XML与Json之间相互转换实例详解

    C# XML与Json之间相互转换实例详解

    这篇文章主要介绍了C# XML与Json之间相互转换实例详解,大家参考使用吧
    2013-11-11
  • 基于C#生成条形码操作知识汇总附源码下载

    基于C#生成条形码操作知识汇总附源码下载

    这篇文章主要介绍了基于C#生成条形码操作知识汇总的相关资料,需要的朋友可以参考下
    2015-12-12
  • Unity绘制二维动态曲线

    Unity绘制二维动态曲线

    这篇文章主要为大家详细介绍了Unity绘制二维动态曲线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • c# volatile 关键字的拾遗补漏

    c# volatile 关键字的拾遗补漏

    这篇文章主要介绍了c# volatile 关键字的相关资料,帮助大家更好的理解和学习c#的相关知识,感兴趣的朋友可以了解下
    2020-10-10
  • C#十五子游戏编写代码

    C#十五子游戏编写代码

    这篇文章主要为大家详细介绍了C#十五子游戏的编写代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • c# 值类型实例构造器

    c# 值类型实例构造器

    CLR总是允许创建值类型的实例。另外值类型不一定需要定义构造器,c#编译器不会为值类型生成默认的无参构造器
    2012-10-10
  • C# 将字节流转换为图片的实例方法

    C# 将字节流转换为图片的实例方法

    C# 将字节流转换为图片的实例方法,需要的朋友可以参考一下
    2013-03-03
  • C#实现注册码的方法

    C#实现注册码的方法

    这篇文章主要介绍了C#实现注册码的方法,可实现C#生成软件注册码的相关功能,涉及C#硬件操作及随机数操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-08-08

最新评论