华为云OCR文字识别工具类
记录一下使用华为云OCR识别身份证和银行卡public class OCRUtil {private static String tokenurl="https://iam.cn-east-3.myhuaweicloud.com/v3/auth/tokens";private static String username=;private static String domain=;private
·
记录一下使用华为云OCR识别身份证和银行卡
public class OCRUtil {
private static String tokenurl="https://iam.cn-east-3.myhuaweicloud.com/v3/auth/tokens";
private static String username=;
private static String domain=;
private static String password=;
private static String projectid=;
/**
* 识别身份证信息
* @param imageurl 图片地址
* @param side true 正面(头像面) false 反面(国徽面)
* 注意事项:此处申请华为云必须在华为云上海一区开通身份证识别功能,然后拷贝项目ID到此处进行识别
*/
public static String getIdCardInfo(String imageurl,String side){
String JSONSTR = "{ \n \"auth\": { \n \"identity\": { \n \"methods\": [ \n \"password\" \n ], \n \"password\": { \n \"user\": { \n\"name\": \""+username+"\", \n \"password\": \""+password+"\", \n \"domain\": { \n \"name\": \""+domain+"\" \n } \n } \n} \n}, \n\"scope\": { \n \"project\": { \n\"name\": \"cn-east-3\" \n} \n} \n} \n}";
String token = HttpRequest.post(tokenurl).body(JSONUtil.parse(JSONSTR) ).execute().header("X-Subject-Token");
String url = "https://ocr.cn-east-3.myhuaweicloud.com/v2/"+projectid+"/ocr/id-card";
Map<String,Object> param = new HashMap<>();
param.put("url",imageurl);
param.put("side",side);
String result=HttpRequest.post(url).header("X-Auth-Token",token).body(JSONUtil.parse(param) ).execute().body();
System.out.println(result);
return result;
}
/**
* 识别银行卡信息
* @param imageurl 图片地址
* 注意事项:此处申请华为云必须在华为云上海一区开通身份证识别功能,然后拷贝项目ID到此处进行识别
*/
public static String getBankInfo(String imageurl){
String JSONSTR = "{ \n \"auth\": { \n \"identity\": { \n \"methods\": [ \n \"password\" \n ], \n \"password\": { \n \"user\": { \n\"name\": \""+username+"\", \n \"password\": \""+password+"\", \n \"domain\": { \n \"name\": \""+domain+"\" \n } \n } \n} \n}, \n\"scope\": { \n \"project\": { \n\"name\": \"cn-east-3\" \n} \n} \n} \n}";
String token = HttpRequest.post(tokenurl).body(JSONUtil.parse(JSONSTR) ).execute().header("X-Subject-Token");
String url = "https://ocr.cn-east-3.myhuaweicloud.com/v2/"+projectid+"/ocr/bankcard";
Map<String,Object> param = new HashMap<>();
param.put("url",imageurl);
String result=HttpRequest.post(url).header("X-Auth-Token",token).body(JSONUtil.parse(param) ).execute().body();
System.out.println(result);
return result;
}
}
着重说明username和password是你的华为云主账号创建的IAM账号。domain是主账号用户名。tokenurl是华为云 华东-上海一 的服务器域名,可根据不同地域更换。
可参考官方文档:https://support.huaweicloud.com/api-iam/iam_17_0002.html
IAM用户组和账号配置:https://support.huaweicloud.com/qs-iam/iam_01_0030.html
错误码:https://support.huaweicloud.com/api-ocr/ocr_03_0028.html
更多推荐
所有评论(0)