失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 身份证 银行卡 车牌 图片文字识别 黄图识别 驾驶证识别库实现功能

身份证 银行卡 车牌 图片文字识别 黄图识别 驾驶证识别库实现功能

时间:2018-12-21 17:51:25

相关推荐

身份证 银行卡 车牌 图片文字识别 黄图识别 驾驶证识别库实现功能

预览图效果:

原文来自:/view/19388.html ,需要自己去下载就可以了。

使用

依赖

implementation 'com.shouzhong:Scanner:1.1.3'

以下选择自己需要的

// zxingimplementation 'com.google.zxing:core:3.3.3'// zbarimplementation 'com.shouzhong:ScannerZBarLib:1.0.0'// 银行卡识别implementation 'com.shouzhong:ScannerBankCardLib:1.0.3'// 身份证识别implementation 'com.shouzhong:ScannerIdCardLib:1.0.4'// 车牌识别implementation 'com.shouzhong:ScannerLicensePlateLib:1.0.3'// 图片文字识别implementation 'com.shouzhong:ScannerTextLib:1.0.0'// 黄图识别implementation 'com.shouzhong:ScannerNsfwLib:1.0.0'// 驾驶证识别implementation 'com.shouzhong:ScannerDrivingLicenseLib:1.0.1'// 身份证识别(第二种方式)implementation 'com.shouzhong:ScannerIdCard2Lib:1.0.0'

代码

基本使用

<RelativeLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><com.shouzhong.scanner.ScannerViewandroid:id="@+id/sv"android:layout_width="match_parent"android:layout_height="1080px"android:background="#000000"/></RelativeLayout>

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_scanner);scannerView = findViewById(R.id.sv);scannerView.setViewFinder(new ViewFinder(this));scannerView.setSaveBmp(true);scannerView.setEnableZXing(true);scannerView.setEnableZBar(true);scannerView.setEnableBankCard(true);scannerView.setEnableIdCard(true);scannerView.setEnableLicensePlate(true);scannerView.setCallback(new Callback() {@Overridepublic void result(Result result) {tvResult.setText("识别结果:\n" + result.toString());scannerView.restartPreviewAfterDelay(2000);}});}@Overrideprotected void onResume() {super.onResume();scannerView.onResume();}@Overrideprotected void onPause() {super.onPause();scannerView.onPause();}

开启或者关闭某个识别器

// 启用zxing识别器scannerView.setEnableZXing(true);// 启用zbar识别器scannerView.setEnableZBar(true);// 启用银行卡识别器scannerView.setEnableBankCard(true);// 启用身份证识别器(这里只支持2代身份证)scannerView.setEnableIdCard(true);// 启用车牌识别scannerView.setEnableLicensePlate(true);// 启用驾驶证识别scannerView.setEnableDrivingLicense(true);// 启用身份证识别(第二种方式)scannerView.setEnableIdCard2(true);

如果你想自定义识别器

scannerView.setScanner(new IScanner() {/*** 这里实现自己的识别器,并把识别结果返回** @param data 矩形框内nv21图像数据* @param width 图像宽度* @param height 图像高度* @return* @throws Exception*/@Overridepublic Result scan(byte[] data, int width, int height) throws Exception {// 如果你想转为Bitmap,请使用NV21.nv21ToBitmap(byte[] nv21, int width, int height)return null;}});

这里没给默认的预览页面,需要自己自定义,请参考demo

回调说明

Result

// 以下是对data的说明// 当type为TYPE_CODE,TYPE_BANK_CARD,TYPE_LICENSE_PLATE时,data为字符串// 当type为TYPE_ID_CARD_FRONT时,data为json字符串,格式如下{"cardNumber": "21412412421",// 身份证号"name": "张三",// 姓名"sex": "男",// 性别"nation": "汉",// 民族"birth": "1999-01-01",// 出生"address": "地址"// 地址}// 当type为TYPE_ID_CARD_BACK时,data为json字符串,格式如下{"organization": "签发机关",// 签发机关"validPeriod": "0101-20380101"// 有效期限}// 当type为TYPE_DRIVING_LICENSE时,data为json字符串,格式如下{"cardNumber": "43623446432",// 证号"name": "张三",// 姓名"sex": "男",// 性别"nationality": "中国",// 国籍"address": "地址",// 地址"birth": "1999-01-01",// 出生日期"firstIssue": "-01-01",// 初次领证日期"_class": "C1",// 准驾车型"validPeriod": "0101-20240101"// 有效期限}

BankCardInfoBean

方法说明

ScannerView

ScannerUtils

NV21

如果觉得《身份证 银行卡 车牌 图片文字识别 黄图识别 驾驶证识别库实现功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。