之前写了一篇利用百度OCR进行本地和网络图片识别文字的文章,点击查看。今天补充识别身份证图片的文章及demo

源码地址:https://download.csdn.net/download/horseroll/10922409

无积分付费下载地址:https://download.csdn.net/download/HorseRoll/21113075

效果图展示:

请求参数:

返回参数:

1.先引用AIPSDK.dll和Newtonsoft.Json.dll这两个DLL

然后在全局变量中声明变量,在窗体加载事件中new个类,传入API_KEY和SECRET_KEY

string API_KEY = "cohIahxAt7HveHLYSHYK6G5N";
string SECRET_KEY = "e8SAsDIWSK9NPUKviYiPQNlfaVDXQSY5";
private void frm_IDCardImgToTxt_Load(object sender, EventArgs e)
{client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);client.Timeout = 60000;  // 修改超时时间
}

2.传入图片地址,识别图片,返回识别结果

/// <summary>
/// 身份证识别
/// </summary>
/// <param name="filename"></param>
/// <returns></returns>
public string IdcardDemo(string filename)
{bool cardjiaodu = cbjiaodu.Text == "true" ? true : false;string cardzhengfan = cbzhengfan.Text == "front" ? "front" : "back";bool cardfengxian = cbfengxian.Text == "true" ? true : false;var image = File.ReadAllBytes(filename);var idCardSide = "back";// 调用身份证识别,可能会抛出网络等异常,请使用try/catch捕获var result = client.Idcard(image, idCardSide);Console.WriteLine(result);// 如果有可选参数var options = new Dictionary<string, object>{
{"detect_direction", cardjiaodu.ToString()},
{"detect_risk", cardfengxian.ToString()},{"id_card_side",cardzhengfan.ToString() }
};// 带参数调用身份证识别result = client.Idcard(image, idCardSide, options);return result.ToString();
}

3.识别后的json内容进行输出

/// <summary>
/// 在界面上显示
/// </summary>
/// <param name="returnstr">json内容</param>
public void WriteTo(string returnstr)
{try{ReturnJsonForCard rj = CYQ.Data.Tool.JsonHelper.ToEntity<ReturnJsonForCard>(returnstr);AReturnJsonForCard acj = CYQ.Data.Tool.JsonHelper.ToEntity<AReturnJsonForCard>(rj.words_result);string resultstr = "";resultstr += "姓名:"+acj.姓名.words + "\r\n"+ "性别:" + acj.性别.words + "\r\n"+ "民族:" + acj.民族.words + "\r\n"+ "出生:" + acj.出生.words + "\r\n"+ "住址:" + acj.住址.words + "\r\n"+ "公民身份号码:" + acj.公民身份号码.words + "\r\n";string card_direction = "";if(rj.direction=="-1"){card_direction = "未定义";}else if (rj.direction == "0"){card_direction = "正向";}else if (rj.direction == "1"){card_direction = "逆时针90度";}else if (rj.direction == "2"){card_direction = "逆时针180度";}else if (rj.direction == "3"){card_direction = "逆时针270度";}resultstr += "图像方向:" + card_direction + "\r\n";string card_image_status = "";if(rj.image_status=="normal"){card_image_status = "识别正常";}else if(rj.image_status == "reversed_side"){card_image_status = "身份证正反面颠倒";}else if (rj.image_status == "non_idcard"){card_image_status = "上传的图片中不包含身份证";}else if (rj.image_status == "blurred"){card_image_status = "身份证模糊";}else if (rj.image_status == "other_type_card"){card_image_status = "其他类型证照";}else if (rj.image_status == "over_exposure"){card_image_status = "身份证关键字段反光或过曝";}else if (rj.image_status == "unknown"){card_image_status = "未知状态";}resultstr += "识别状态:" + card_image_status + "\r\n";string card_risk_type = "";if (rj.risk_type == "normal"){card_risk_type = "正常";}else if(rj.risk_type == "copy"){card_risk_type = "复印件";}else if (rj.risk_type == "temporary"){card_risk_type = "临时身份证";}else if (rj.risk_type == "screen"){card_risk_type = "翻拍";}else if (rj.risk_type == "unknown"){card_risk_type = "其他未知情况";}resultstr += "识别身份证类型:" + card_risk_type + "\r\n";resultstr += "图片编辑工具:" + rj.edit_tool + "\r\n";richTextBox1.Clear();richTextBox1.AppendText(resultstr);}catch (Exception ex){MessageBox.Show("解析出错,出错原因:" + ex.Message);}
}

5.json字符串的类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 百度OCR
{public class ReturnJsonForCard{public string log_id { get; set; }public string direction { get; set; }public string image_status { get; set; }public string risk_type { get; set; }public string edit_tool { get; set; }public string words_result_num { get; set; }public string words_result { get; set; }}public class AReturnJsonForCard{public BReturnJsonForCard 住址 { get; set; }public BReturnJsonForCard 出生 { get; set; }public BReturnJsonForCard 姓名 { get; set; }public BReturnJsonForCard 公民身份号码 { get; set; }public BReturnJsonForCard 性别 { get; set; }public BReturnJsonForCard 民族 { get; set; }}public class BReturnJsonForCard{public string location { get; set; }public string words { get; set; }}
}

C#百度OCR-身份证图片识别提取信息相关推荐

  1. python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译

    python截图+百度ocr(图片识别)+ 百度翻译 一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码 ...

  2. python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译(可选择翻译语言)...

    一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...

  3. JAVA基于百度云文字(车牌、身份证、图片)识别提取

    基于百度云文字(车牌.身份证.图片)识别提取 由于自己想写一个停车场项目,所以去查询了百度API文档,可以实现所有图片中文字的提取,此贴为傻瓜式教程,希望所有像我一样的初学者都可以看懂,有所收获,话不 ...

  4. python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...

  5. python 百度ocr安装_Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...

  6. python批量分析表格_Python环境下百度Ocr表格批量识别

    参考代码:(Python对代码行缩进要求比较高,复制下列的代码请注意这一点,参考上图) # ---------------------------------------- # Python环境下百度 ...

  7. 小福利,通过python利用百度ai实现图片识别

    大家好,我是天空之城,今天给大家带来小福利,通过python利用百度ai实现图片识别.有兴趣加qq群,纯学习,1098016198. 至于api接口的APP_ID ,API_KEY ,SECRECT_ ...

  8. 直播短视频源码,身份证图片识别

    直播短视频源码,进行身份验证时,对上传的身份证图片实现正确识别的相关代码 public class IDCardModel{public string name;public string sex;p ...

  9. python利用百度AI进行图片识别与分类

    python利用百度AI进行图片识别与分类 声明 此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点 背景 大多数人的相册都是乱七八糟的,动物的照 ...

  10. 【百度AI_文字识别】示例身份证图片识别(代码官方文档完整,只需获得修改参数、下载类)

    文章目录 提取身份证信息 第一步:登录 第二步:获取资源 第三步:获取access_token参数(AuthService.java) 第四步:请求代码Idcard.java 第五步:修改Idcard ...

最新文章

  1. Spring Boot 关于 @Import注解 —— 导入资源
  2. 为tomcat6批量生成安全证书
  3. hbase或hadoop错误及解决方法
  4. 面向对象的三大特性之继承
  5. windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
  6. android 全局 窗口,学习笔记:WindowManager显示Android全局悬浮窗口
  7. 计算机建筑材料考试试题,建筑材料试题(建筑材料期中试题及)
  8. ThinkPHP导出CSV、Excel
  9. 蓝桥杯 ADV-234 算法提高 字符串跳步
  10. gsm模块 java 录音_深入详解Android GSM驱动模块
  11. P4980 【模板】Polya定理
  12. COMSOL6.0 版本新功能:求解大型瞬态声学问题
  13. Oracle客户端安装教程(图文)
  14. 【无机纳米材料科研制图——OriginLab 0206】Origin绘制X射线衍射XRD堆叠图
  15. 小记(1)偷影子的人
  16. 全球及中国IT运维管理产业十四五格局动向及项目价值收益预测报告2021-2027年
  17. Microsoft Word 论文编排技巧
  18. Mac环境下Android一键自动打包发布到蒲公英平台
  19. xenserver安装配置
  20. 一文带你读完《推荐系统实践》

热门文章

  1. 领英linkedin跳转到国内的解决办法
  2. Python中简单的编程
  3. mac使用Java命令运行Java程序
  4. 南阳理工acm,水仙花数
  5. 计算机公开课打字游戏,H5公开课:古堡密卷--打字通关游戏设计及开发
  6. ArcGIS 安装出现Mircrosoft .NET Framework 3.5 sp1问题的解决方案
  7. 【离散数学】集合论 第三章 集合与关系(8) 关系的闭包运算
  8. R语言开发软件包(打包)
  9. python程序纠错_纠错帮【python文稿AI纠错工具】
  10. 如何自动生成SpringBoot项目代码