C#百度OCR-身份证图片识别提取信息
之前写了一篇利用百度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-身份证图片识别提取信息相关推荐
- python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译
python截图+百度ocr(图片识别)+ 百度翻译 一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码 ...
- python 百度识图_python截图+百度ocr(图片识别)+ 百度翻译(可选择翻译语言)...
一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...
- JAVA基于百度云文字(车牌、身份证、图片)识别提取
基于百度云文字(车牌.身份证.图片)识别提取 由于自己想写一个停车场项目,所以去查询了百度API文档,可以实现所有图片中文字的提取,此贴为傻瓜式教程,希望所有像我一样的初学者都可以看懂,有所收获,话不 ...
- python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python 百度ocr安装_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- python批量分析表格_Python环境下百度Ocr表格批量识别
参考代码:(Python对代码行缩进要求比较高,复制下列的代码请注意这一点,参考上图) # ---------------------------------------- # Python环境下百度 ...
- 小福利,通过python利用百度ai实现图片识别
大家好,我是天空之城,今天给大家带来小福利,通过python利用百度ai实现图片识别.有兴趣加qq群,纯学习,1098016198. 至于api接口的APP_ID ,API_KEY ,SECRECT_ ...
- 直播短视频源码,身份证图片识别
直播短视频源码,进行身份验证时,对上传的身份证图片实现正确识别的相关代码 public class IDCardModel{public string name;public string sex;p ...
- python利用百度AI进行图片识别与分类
python利用百度AI进行图片识别与分类 声明 此博客纯属记录我学习的过程,是本人的一次大作业,如果程序中有问题或者有更好的实现方法希望各位前辈多多指点 背景 大多数人的相册都是乱七八糟的,动物的照 ...
- 【百度AI_文字识别】示例身份证图片识别(代码官方文档完整,只需获得修改参数、下载类)
文章目录 提取身份证信息 第一步:登录 第二步:获取资源 第三步:获取access_token参数(AuthService.java) 第四步:请求代码Idcard.java 第五步:修改Idcard ...
最新文章
- Spring Boot 关于 @Import注解 —— 导入资源
- 为tomcat6批量生成安全证书
- hbase或hadoop错误及解决方法
- 面向对象的三大特性之继承
- windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
- android 全局 窗口,学习笔记:WindowManager显示Android全局悬浮窗口
- 计算机建筑材料考试试题,建筑材料试题(建筑材料期中试题及)
- ThinkPHP导出CSV、Excel
- 蓝桥杯 ADV-234 算法提高 字符串跳步
- gsm模块 java 录音_深入详解Android GSM驱动模块
- P4980 【模板】Polya定理
- COMSOL6.0 版本新功能:求解大型瞬态声学问题
- Oracle客户端安装教程(图文)
- 【无机纳米材料科研制图——OriginLab 0206】Origin绘制X射线衍射XRD堆叠图
- 小记(1)偷影子的人
- 全球及中国IT运维管理产业十四五格局动向及项目价值收益预测报告2021-2027年
- Microsoft Word 论文编排技巧
- Mac环境下Android一键自动打包发布到蒲公英平台
- xenserver安装配置
- 一文带你读完《推荐系统实践》