欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# 开发文字识别软件

程序员文章站 2022-07-02 22:03:56
本文主要讨论c#开发使用百度文字识别ocr来识别文字,本文最后会提供本安全源代码以及运行软件包,如有需要可自行下载开发流程如下:1.创建百度应用:  创建应用之后就能看到创建完的应用和api key以...

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

开发流程如下:

1. 创建百度应用:

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

  详见:

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. 识别结果

原图片:

c# 开发文字识别软件

图片识别结果:

c# 开发文字识别软件

 5. 源代码及软件包下载

软件开源代码地址(集成项目):

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

作者:沐汐 vicky
出处:http://www.cnblogs.com/easyinvoice

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

相关标签: c# 文字 识别