Android 腾讯优图 OCR 云平台识别身份证、银行卡、行驶证、驾驶证,依赖包小,识别次数免费
cardocr
项目地址:Eric0liang/cardocr
简介:Android 腾讯优图 OCR 云平台识别身份证、银行卡、行驶证、驾驶证,依赖包小,识别次数免费
更多:作者 提 Bug 官网
标签:
OCR身份证、银行卡、行驶证、驾驶证-
使用前请阅读对应模块的文档和示例,如果有不清楚的地方,可以看源码,或者向我提问。觉得有帮助的,星星点起来!!!
这个库的底层是使用腾讯优图云平台识别技术,所以引用包非常小,识别速度大概几秒。
集成
permission 与 meta-data 声明
<uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_SETTINGS"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><meta-dataandroid:name="OCR_APP_KEY"android:value="腾讯优图申请" /><meta-dataandroid:name="OCR_SECRET_ID"android:value="腾讯优图申请" /><meta-dataandroid:name="OCR_SECRET_KEY"android:value="腾讯优图申请" />
Gradle
allprojects {jcenter()}
compile 'com.github.eric0liang:lib_cardocr:1.0.5'
依赖的 jar 添加到 libs
fastjson.jar 用于解析腾讯云平台 response 的 json
BASE64Decoder.jar 用于解码腾讯云平台 response base64 格式的截图
混淆
-dontwarn cn.com.bluemoon.cardocr.**
-keep class cn.com.bluemoon.cardocr.** {*;}
demo apk 下载地址:
点击下载
效果
1.身份证识别
2.银行卡识别
3.行驶证识别
4.驾驶证识别
使用指南(2018.1.23 更新)
CaptureActivity 识别身份证、银行卡照相机类
API
startAction(Activity context, CardType type, int requestCode)
startAction(Activity context, CardType type, String url, int requestCode)
startAction(Activity context, CardType type, @StringRes int titleId, int requestCode)
- context 调起照相机的 activity 类
- type 枚举类,有五个类型
public enum CardType {//身份证头像面,身份证国徽面,银行卡,行驶证,驾驶证TYPE_ID_CARD_FRONT, TYPE_ID_CARD_BACK,TYPE_BANK,TYPE_DRIVING_LICENSE_XINGSHI,TYPE_DRIVING_LICENSE_JIASHI }
- titleId 自定义照相机顶部的 title,比如请确保身份证头像面边缘在框内
- url 是否需要保存身份证的截图,传保存的文件夹路径,比如 Environment.getExternalStorageDirectory() + "/images"
- requestCode onActivityResult 使用
使用 demo MainActivity 代码片段
@Overridepublic void onClick(View v) {String dirPath = Environment.getExternalStorageDirectory() + "/images";switch (v.getId()) {case R.id.btn_id_card_back:CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_BACK, checkbox.isChecked() ? dirPath : null, 0);//CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_BACK, 0);//CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_BACK, R.string.txt_id_card_title, 0);break;case R.id.btn_id_card_front:CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_FRONT, checkbox.isChecked() ? dirPath : null, 0);//CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_FRONT, 0);//CaptureActivity.startAction(this, CardType.TYPE_ID_CARD_FRONT, R.string.txt_id_card_title, 0);break;case R.id.btn_bank:CaptureActivity.startAction(this, CardType.TYPE_BANK, 1);break;case R.id.btn_xingshi:CaptureActivity.startAction(this,CardType.TYPE_DRIVING_LICENSE_XINGSHI,2);break;case R.id.btn_jiashi:CaptureActivity.startAction(this,CardType.TYPE_DRIVING_LICENSE_JIASHI,2);break;}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK) {imgIdCard.setVisibility(View.GONE);if (requestCode == 0) {IdCardInfo info = (IdCardInfo)data.getSerializableExtra(CaptureActivity.BUNDLE_DATA);txtInfo.setText(info.toString());if (!TextUtils.isEmpty(info.getImageUrl())) {imgIdCard.setVisibility(View.VISIBLE);imgIdCard.setImageBitmap(BitmapFactory.decodeFile(info.getImageUrl()));}} else if (requestCode == 1){BankInfo info = (BankInfo)data.getSerializableExtra(CaptureActivity.BUNDLE_DATA);txtInfo.setText(info.toString());} else {DrivingLicenseInfo info = (DrivingLicenseInfo)data.getSerializableExtra(CaptureActivity.BUNDLE_DATA);txtInfo.setText(info.toString());}}}
IdCardInfo
private String authority; //签发机关,XXX 公安局
private String validDate; //有效期限,2007.02.14-2017.02.14
private String imageUrl; //截图保存地址,预留
private String name; //姓名,艾米
private String sex; //性别,女
private String nation; //民族,汉
private String birth; //出生,1990/12/22
private String address; //住址,浙江省海盐县武原街工人路
private String id; //公民身份号码,610333199012223323
BankInfo
private String bankName; //银行信息,农业银行
private String cardName; //卡名字,金穗通宝卡(银联卡)
private String cardType; //卡类型,借记卡
private String cardNumber; //卡号,6228475757548
DrivingLicenseInfo
private String licenseNumber;//车牌号码
private String vehicleType;//车辆类型
private String master;//所有人
private String address;//住址
private String function;//使用性质
private String brandModel;//品牌型号
private String identifyCode;//识别代码
private String engineNumber;//发动机号
private String registrationDate;//注册日期
private String openingDate;//发证日期private String certificateNumber;//证号
private String name;//姓名
private String gender;//性别
private String nationality;//国籍
private String dateBirth;//出生日期
private String quasiDrivingType;//准驾车型
private String effectiveDate;//有效日期
private String startDate;//起始日期
识别照相机界面,默认样式如下,也可自定义(参考 CoustomCaptureActivity 类)
如果想自定义识别照相机界面,继承 BaseCaptureActivity,并重写 getLayoutId,initCustomView 两个方法即可。
@Overridepublic int getLayoutId() {return R.layout.activity_coustom;}@Overridepublic void initCustomView() {Button btnBack = (Button)findViewById(R.id.btn_back);Button btnTake = (Button)findViewById(R.id.btn_take);View.OnClickListener listener = new View.OnClickListener() {@Overridepublic void onClick(View v) {int id = v.getId();if (id == R.id.btn_back) {finish(); //关闭} else if (id == R.id.btn_take) {identification(); //拍照识别}}};btnBack.setOnClickListener(listener);btnTake.setOnClickListener(listener);}
更新记录
- 1.0.5 2018.8.21
- 修复 8.0 奔溃问题
- 1.0.4 2018.1.23
- 优化行驶证、驾驶证识别
- 添加使用说明
- 1.0.3, 1.0.2 2017.12.8
- 优化代码
- 1.0.1 2017.12.8
- 修复连续拍照触发的奔溃
- 增加行驶证、驾驶证识别
- 1.0.0 2017.11.7
- first commit
其它问题
发现任何问题可以提 issue
关于作者
联系方式
- Github: https://github.com/Eric0liang
- Email: liangjiangli@bluemoon.com.cn
Android 腾讯优图 OCR 云平台识别身份证、银行卡、行驶证、驾驶证,依赖包小,识别次数免费相关推荐
- 腾讯优图·AI 开放平台全面升级:AI 能力最全面的平台
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:优图实验室 人工智能是一项前瞻性科学研究,自信息技术产生发展以来,人们在这一领域进行了长期的科学探索和技术攻坚,并不断涌现出新思想.新观 ...
- 腾讯优图发布四大平台产品,持续开放视觉AI能力
7月10日,2020世界人工智能大会在上海举行,腾讯优图实验室总经理吴运声发表了"新基建新生态下的计算机视觉"的主题演讲,分享了优图视觉AI技术在工业.教育.泛娱乐等领域的最新落地 ...
- Android 腾讯优图开发问题总结
Android 腾讯优图开发问题总结 接入优图检测人脸失败错误码SDK_IMAGE_FACEDETECT_FAILED -1101 具体表现 提供的getBitmap的问题 Bitmap旋转的问题 优 ...
- 调用腾讯优图OCR手写体文字识别接口
一.百度搜索:腾讯优图·AI开放平台: 二.点击技术体验中心,可以体验一下效果: 三.点击开发者中心,左侧找到"API文档"里面的"通用手写体文字识别".这里面 ...
- Python调用腾讯优图OCR通用API实现文字识别
API地址:https://ai.qq.com/doc/ocrgeneralocr.shtml 腾讯优图的API比较复杂的就是生成签名,不过不知道腾讯的服务器出什么问题了,调用的时候一直提示504,演 ...
- ECCV 2020 | 腾讯优图8篇论文入选,涵盖目标跟踪、行人重识别、人脸识别等领域...
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 来源:腾讯优图 近日,计算机视觉方向的三大国际顶级会议之一的ECCV 2020公布论文获奖结果 ...
- 腾讯优图吴永坚:迈向深度学习,我们面临模型训练与推荐的双重考验
整理 | 琥珀 出品 | AI 科技大本营 对腾讯优图的发展历程,吴永坚表示,优图是非常幸运的,幸运的同时也知道优图选对了方向,只要坚持,还是会有收获的. 12 月 15 日,以"新趋势.新 ...
- 腾讯优图|人脸3D重建与渲染技术研究与应用
编辑丨腾讯优图AI开放平台 6月5日-6日,2021全球人工智能技术大会(GAITC 2021)在杭州成功举办.本次大会,旨在汇聚中国科创智慧与活力的同时,与世界建立互通共享的沟通桥梁,在交流中探索共 ...
- CVPR 2021 | 腾讯优图20篇论文入选,含人脸识别、时序动作定位、视频动作分割等领域...
编辑丨腾讯优图AI开放平台 计算机视觉世界三大顶会之一的CVPR 2021论文接收结果出炉!本次大会收到来自全球共7015篇有效投稿,最终有1663篇突出重围被录取,录用率约为23.7%.本次,腾讯优 ...
最新文章
- PLSQL重点问题理解和实战
- 电商扣减库存_以电商为例 | B端产品经理,怎么做好库存系统设计
- Sql注入工具php,phpcms框架SQL注入--基于Havij工具
- 海尔微型计算机一键还原怎么操作,教你电脑一键还原怎么操作
- VS中C++ 项目重命名
- 为未来元素添加点击事件的两种写法
- wpf开发仿真3d软件_3D体验平台品牌应用——SOLIDWORKS?
- httpClient创建对象、设置超时
- Oracle数据库在.net连接问题总结
- 3V升压5V芯片,3V升压5V电路图
- C++11常见编译与链接错误解决总结
- Win7系统安装的方法,电脑重装系统win7
- 这可能是学日语最好的几个App
- UVa11584 划分回文串
- windows快速添加开机启动项/禁用开机启动项
- 关于uipath软件安装激活手顺书——在线激活
- iOS 视频、图片翻转问题
- 同步六进制加法计数电路设计(D触发器)
- glut库更新旧程序无法完成编译问题描述
- SWUST OJ492: 荷兰国旗问题