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# 文字识别的资料请关注我们其它相关文章!

(0)

相关推荐

  • 基于C#技术实现身份证识别功能

    最近研究C#相关的ORC技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用,这里介绍三种身份证识别的方法. 一:调用大公司API接口,百度.云脉,文通科技都有相关的API介绍. 二:调用图像处理类库,EmguCV是OpenCV的一个跨平台的.Net封装,该封装也可以被编译到Mono平台和允许在Windows.Mac OS.Android.iPhone.iPad等多个平台上运行 三:调用Office2007 组件 一.证件识别API接口 以聚合数据中的API

  • C# winform程序实现开机自启动并且识别是开机启动还是双击启动

    开机启动程序,在很多场合都会用到,尤其是那种在后台运行的程序. 效果图: 以上两幅图都用到了命令行启动程序,为了模拟开机启动或者其他程序调用此程序. 第一幅图:程序启动可以根据不同参数,执行不同的操作.如果是双击启动,就自动运行逻辑代码,如果是带特定参数启动,就自动运行逻辑代码. 第二幅图:winform 程序设置开机启动,模拟双击启动和开机启动的不同效果. 开机启动并自动运行方法:其实思路很简单,就是将程序添加到注册表中,这设置值的时候,加一个参数就可以了.然后程序在入口函数处判断启动参数,如

  • c# 开发语音识别程序

    AI 平台:http://ai.baidu.com/ 开发工具:vs 2017 准备工作 1.注册百度账号 2.登录百度 AI 开发平台,http://ai.baidu.com/ 3.在控制台点击"百度语音"服务,点击"创建应用",填写必填项,勾选额外接口,点击立即创建获取秘钥.在应用列表中查看自己的id 创建自己的项目 1.新建项目 打开 vs2017,点击文件,新建项目,选择 visual C# --> windows 桌面 --> windows

  • C#图像识别 微信跳一跳机器人

    更新 GitHub中所有类库的源码已经转换为C#版本. 准备 IDE:VisualStudio Language:C#/VB.NET GitHub:AutoJump.NET 本文将向你介绍一种通过图像识别实现"跳一跳"机器人的方法. 第一节 图像识别 文中提到的所有方法和步骤只涉及简单的向量计算. 需要用到哪些计算? 比较像素点的颜色 求向量集合的中心 计算颜色的相似度 一个RGB颜色可以看作一个三维向量 比较两个颜色的相似度可以计算它们的欧几里得距离 也可以直接比较它们的夹角:夹角越

  • C# 10分钟完成百度人脸识别(入门篇)

    嗨咯,小编在此祝大家新年快乐财多多! 今天我们来盘一盘人脸注册.人脸识别等相关操作,这是一个简单入门教程. 话不多说,我们进入主题: 完成人脸识别所需的步骤: 注册百度账号api,创建自己的应用: 创建vs控制台应用程序,引入动态链接库: 编写代码调试,效果图查看: 总结. 1.注册百度账号api,创建自己的应用 注册地址: https://login.bce.baidu.com/ 注册登录之后,在"产品服务" 菜单下找到人脸识别 ,如下图: 点击去创建自己的应用名称,其实最主要的就是

  • C# SDK实现百度云OCR的文字识别功能

    最近项目要用到文字识别功能,所以花了几天时间整理了一下.今天就记录一下用C#实现文字识别的过程. 一.登录百度云进入控制台界面,创建应用获取秘钥 1.在百度云的产品里找到文字识别 2.找到通用文字识别点击立即使用.然后进入控制台.(这里可能会进入购买页面,可以直接购买免费版) 3.在控制台点击创建应用.然后填写相关内容就可以获得应用秘钥. 二.获得C#SDK 1.百度云C#SDK下载:下载地址 2.可以到官网直接下载:下载链接 三.将C#SDK导入VS 找到解决方案里的引用目录,右键,选择第一个

  • C#实现基于ffmpeg加虹软的人脸识别的示例

    关于人脸识别 目前的人脸识别已经相对成熟,有各种收费免费的商业方案和开源方案,其中OpenCV很早就支持了人脸识别,在我选择人脸识别开发库时,也横向对比了三种库,包括在线识别的百度.开源的OpenCV和商业库虹软(中小型规模免费). 百度的人脸识别,才上线不久,文档不太完善,之前联系百度,官方也给了我基于Android的Example,但是不太符合我的需求,一是照片需要上传至百度服务器(这个是最大的问题),其次,人脸的定位需要自行去实现(捕获到人脸后上传进行识别). OpenCV很早以前就用过,

  • .NET C#利用ZXing生成、识别二维码/条形码

    一.首先下载 ZXing.Net 地址是:http://zxingnet.codeplex.com/releases/view/117068 然后将对应版本 .dll 拖入项目中,再引用之. 主要是用 BarcodeWriter.BarcodeReader. 二.生成二维码 .NET 平台的代码始终要简单些. QrCodeEncodingOptions options = new QrCodeEncodingOptions(); options.CharacterSet = "UTF-8&quo

  • .NET/C#实现识别用户访问设备的方法

    本文实例讲述了.NET/C#实现识别用户访问设备的方法.分享给大家供大家参考,具体如下: 一.需求 需要获取到用户访问网站时使用的设备,根据不同设备返回不同类型的渲染页面. 二.实现前准备 通过NuGet把UAParser程序包添加到项目中 三.实现 新建UAParseUserAgent类文件,在这个文件中进行实现. 实现代码如下: public class UAParserUserAgent { private readonly static uap.Parser s_uap; private

  • C# Winform调用百度接口实现人脸识别教程(附源码)

    百度是个好东西,这篇调用了百度的接口(当然大牛也可以自己写),人脸检测技术,所以使用的前提是有网的情况下.当然大家也可以去参考百度的文档. 话不多说,我们开始: 第一步,在百度创建你的人脸识别应用 打开百度AI开放平台链接: 点击跳转百度人脸检测链接,创建新应用 创建成功成功之后.进行第二步 第二步,使用API Key和Secret Key,获取 AssetToken 平台会分配给你相关凭证,拿到API Key和Secret Key,获取 AssetToken 接下来我们创建一个AccessTo

  • C# 使用AspriseOCR.dll实现验证码识别

    验证码(Captcha)基于十道安全栅栏, 为网页.App.小程序开发者打造立体.全面的人机验证,最大程度地保护注册登录.活动秒杀.点赞发帖.数据保护等各大场景下的业务安全.要做自动化脚本程序,就要能识别验证码这一关. 效果如下图: ​ 演示程序结构 在vs2019创建WinForm窗体程序,添加相应的控件 程序执行 一,使用OpenFileDialog类,可以选择图片文件 二,使用AspriseOCR.dll,识别图片,主要的函数strcode = Marshal.PtrToStringAns

随机推荐