阿里云身份证识别(阿里云身份证识别接口API)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享阿里云身份证识别的知识,其中也会对阿里云身份证识别接口API进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

阿里云计算有限公司为什么要身份证正反面照片和本人手持照?有什么用吗

作为身份证识别sdk开发者,个人认为是通过调用api接口使用的,作为自己项目功能使用

身份证识别是什么原理?

身份证云识别,简单来讲,就是将身份证图片,传到阿里云上,通过ocr技术,将证件图片上的信息提取出来,整个过程大概在1秒左右

如何用阿里云的API进行身份证识别

以下内容属于引用复制,但可以回复你的问题:

准备工作:在libs下添加 alicloud-Android-apigateway-sdk-1.0.1.jar,commons-codec-1.10-1.jar

在build.gradle添加 compile'com.squareup.okhttp3:okhttp:3.4.1'

在onCreate,或者afterViews初始化API网关

private void initGatewaySdk() {

// 初始化API网关

ApiGatewayClient.init(getApplicationContext(), false);

}

调用拍照功能

private void getPhotoCard(){

final String status = Environment.getExternalStorageState();

if (Build.VERSION.SDK_INT = Build.VERSION_CODES.M) {

requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, CAMERA_REQUEST_CODE);

}

if (status.equals(Environment.MEDIA_MOUNTED)) {

defaultPhotoAddress = PHOTO_DIR + "/" + getPhotoName();

PreferenceUtils.modifyStringValueInPreferences(CardActivity.this, Preferences.IMAGE_3, defaultPhotoAddress);

imageUri = Uri.fromFile(new File(defaultPhotoAddress));

Intent intentPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//action is capture

intentPhoto.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

startActivityForResult(intentPhoto, CAMERA_REQUEST_CODE);

} else {

Toast.makeText(CardActivity.this, "没有sd卡", Toast.LENGTH_SHORT).show();

}

}

可以对照片进行裁剪

private void cropImageUri(Uri desUri, int outputX, int outputY, int requestCode){

Intent intent = new Intent("com.android.camera.action.CROP");

intent.setDataAndType(desUri, "image/*");

intent.putExtra("crop", "true");

intent.putExtra("aspectX", 5);

intent.putExtra("aspectY", 3);

intent.putExtra("outputX", outputX);

intent.putExtra("outputY", outputY);

intent.putExtra("scale", true);

intent.putExtra(MediaStore.EXTRA_OUTPUT, desUri);

intent.putExtra("return-data", false);

intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());

intent.putExtra("noFaceDetection", true);

startActivityForResult(intent, requestCode);

}

用base64上传照片

private void trygetCardNum() {

if (NetworkUtils.isConnectWithTip(this, "您未连接网络,无法获取数据")) {

LoadingUtil.show(this);

String imgBase64 = "";

try {

defaultPhotoAddress = PreferenceUtils.getStringValueInPreferences(this, Preferences.IMAGE_3);

File file = new File(defaultPhotoAddress);

byte[] content = new byte[(int) file.length()];

FileInputStream finputstream = new FileInputStream(file);

finputstream.read(content);

finputstream.close();

imgBase64 = new String(Base64.encodeBase64(content));

// imgBase64 = Base64Img.Bitmap2StrByBase64(bitmap);

if(imgBase64!=null||!imgBase64.equals("")){

PreferenceUtils.modifyStringValueInPreferences(CardActivity.this, Preferences.IMAGE_3, null);

}

} catch (IOException e) {

e.printStackTrace();

return;

}

// 获取服务

RpcService rpcService = ApiGatewayClient.getRpcService();

final ApiRequest apiRequest = new ApiRequest();

// 设置请求地址、Path及Method

apiRequest.setAddress("");

apiRequest.setPath("/rest/160601/ocr/ocr_idcard.json");

apiRequest.setMethod(HttpMethod.POST);

// 按照文档设置二进制形式Body,支持设置Query参数、Header参数、Form形式Body

apiRequest.setStringBody("{\"inputs\":[{\"image\":{\"dataType\":50,\"dataValue\":\""+imgBase64+"\"},\"configure\":{\"dataType\":50,\"dataValue\":\"{\\\"side\\\":\\\"face\\\"}\"}}]}");

// 设置支持自签等形式的证书,如果服务端证书合法请勿设置该值,仅在开发测试或者非常规场景下设置。

apiRequest.setTrustServerCertificate(true);

// 设置超时

apiRequest.setTimeout(10000);

rpcService.call(apiRequest, new ApiResponseCallback() {

@Override

public void onSuccess(ApiResponse apiResponse) {

// 处理apiResponse

LoadingUtil.dismiss();

String s = apiResponse.getStringBody();

NumBean result = JSONObject.parseObject(s, NumBean.class);

String dataValue = result.getOutputs().get(0).getOutputValue().getDataValue();

DataValueBean dataValueBean = JSONObject.parseObject(dataValue, DataValueBean.class);

Number = dataValueBean.getNum();

name = dataValueBean.getName();

address = dataValueBean.getAddress();

birth = dataValueBean.getBirth();

nationality = dataValueBean.getNationality();

sex = dataValueBean.getSex();

if(dataValueBean.getError_msg()==null){

runOnUiThread(new Runnable() {

public void run() {

if(Number == null||Number.equals("")||name == null||name.equals("")||address == null||address.equals("")||birth == null||birth.equals("")||sex == null||sex.equals("")){

Toast.makeText(CardActivity.this, "扫描失败,请重试", Toast.LENGTH_LONG).show();

}else {

//扫描成功

}

}

});

}else {

errString = dataValueBean.getError_msg();

runOnUiThread(new Runnable() {

public void run() {

Toast.makeText(CardActivity.this, "扫描失败,请重试", Toast.LENGTH_LONG).show();

}

});

}

}

@Override

public void onException(ApiInvokeException e) {

// 处理异常

LoadingUtil.dismiss();

runOnUiThread(new Runnable() {

public void run() {

Toast.makeText(CardActivity.this, "扫描失败,请重试", Toast.LENGTH_LONG).show();

}

});

}

});

}

}

附:

public class NumBean implements Serializable{

private ListOutputsBean outputs;

public ListOutputsBean getOutputs() {

return outputs;

}

public void setOutputs(ListOutputsBean outputs) {

this.outputs = outputs;

}

public static class OutputsBean {

private String outputLabel;

private OutputMultiBean outputMulti;

private OutputValueBean outputValue;

public String getOutputLabel() {

return outputLabel;

}

public void setOutputLabel(String outputLabel) {

this.outputLabel = outputLabel;

}

public OutputMultiBean getOutputMulti() {

return outputMulti;

}

public void setOutputMulti(OutputMultiBean outputMulti) {

this.outputMulti = outputMulti;

}

public OutputValueBean getOutputValue() {

return outputValue;

}

public void setOutputValue(OutputValueBean outputValue) {

this.outputValue = outputValue;

}

public static class OutputMultiBean {

}

public static class OutputValueBean {

private int dataType;

private String dataValue;

public int getDataType() {

return dataType;

}

public void setDataType(int dataType) {

this.dataType = dataType;

}

public String getDataValue() {

return dataValue;

}

public void setDataValue(String dataValue) {

this.dataValue = dataValue;

}

}

}

}

public class DataValueBean implements Serializable{

private String address;

private String birth;

private String config_str;

private String error_msg;

private String name;

private String nationality;

private String num;

private String request_id;

private String sex;

private boolean success;

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public String getBirth() {

return birth;

}

public void setBirth(String birth) {

this.birth = birth;

}

public String getConfig_str() {

return config_str;

}

public void setConfig_str(String config_str) {

this.config_str = config_str;

}

public String getError_msg() {

return error_msg;

}

public void setError_msg(String error_msg) {

this.error_msg = error_msg;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getNationality() {

return nationality;

}

public void setNationality(String nationality) {

this.nationality = nationality;

}

public String getNum() {

return num;

}

public void setNum(String num) {

this.num = num;

}

public String getRequest_id() {

return request_id;

}

public void setRequest_id(String request_id) {

this.request_id = request_id;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public boolean isSuccess() {

return success;

}

public void setSuccess(boolean success) {

this.success = success;

}

}

在AndroidManifest.xml下添加

meta-data android:name="com.alibaba.apigateway.appKey" android:value="" /

meta-data android:name="com.alibaba.apigateway.appSecret" android:value="" /

身份证云识别是什么原理?

身份证云识别,简单来讲,就是将身份证图片,传到阿里云上,通过OCR技术,将证件图片上的信息提取出来,整个过程大概在1秒左右

阿里云身份证识别的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于阿里云身份证识别接口API、阿里云身份证识别的信息别忘了在本站进行查找喔。

发布于 2022-10-21 05:10:31
收藏
分享
海报
64
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了