java 调用百度AI识别营业执照

1.首先,在百度平台申请自己的账号

2.引入依赖

 <dependency>
      <groupId>com.baidu.aip</groupId>
      <artifactId>java-sdk</artifactId>
      <version>4.10.0</version>
 </dependency>

3.创建自己的Util,App_Id等换成自己申请的即可,我是将他们配置到了配置文件中

public class BaiDuAiUtil {

    public static final String APP_ID = PropertyUtil.getProperty("baiduai.appid");

    public static final String API_KEY = PropertyUtil.getProperty("baiduai.apikey");

    public static final String SECRET_KEY = PropertyUtil.getProperty("baiduai.secretkey");

    private static AipOcr apiOcr;

    static {
        apiOcr = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
    }


    public static Map<String,Object> parseLicence(String path) {
        JSONObject res2 = apiOcr.basicGeneral(path, new HashMap<String, String>());
        JSONArray res = (org.json.JSONArray) res2.get("words_result");
        Map<String,Object> result = new HashMap<>();
        if (res.length() > 0) {
            for (int key = 0; key < res.length(); key++) {
                result.put("code","0");
                JSONObject object = (JSONObject) res.get(key);
                String value = object.getString("words");
                if(value.startsWith("法定代表人")){
    	             result.put("name",value.substring(5,value.length()));
                }
                if(value.trim().startsWith("名称")){
    	            result.put("companyName",value.substring(2,value.length()));
                }else if(value.trim().startsWith("称")){
    	           result.put("companyName",value.substring(1,value.length()));
                }
                if(value.startsWith("统一社会信用代码")){
                    result.put("creditCode",value.substring(8,value.length()));
                }
            }
           return result;
        }else{
            result.put("code","-1");
            result.put("creditCode","");
        }
        return result;
    }

//判断上传的是不是营业执照
    public static boolean checkLicence(String path,String company,String name,String credit){
	    boolean flag = false;
	    Licence licence = parseLicence(path);
	    if(path == null || company == null || name == null || credit == null){
		    return  false;
	    }
	    if(company.equals(licence.getCompany())&&name.equals(licence.getName())&&credit.equals(licence.getCreditNo())){
		    flag = true;
	    }
	    return flag;
}

}

在controller中测试,传入上传的文件路径即可

    @PostMapping("uploadLicense")
    @ResponseBody
    public Map<String, Object> upload(MultipartFile file) throws IOException {
        String path = "Z:/JavaFilesUpload/kejizhuanli/20190318025213680.png";
        Map<String, Object> licence = BaiDuAiUtil.parseLicence(path);
        return licence;
    }

参考https://blog.csdn.net/liswing86/article/details/84580804

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值