首页 身份证识别 身份证识别示例代码 身份证识别[Java]

身份证识别示例代码[Java]

作者:xiezhongpian 阅读数:982 上传时间:2017-05-09

身份证识别

package api.binstd.idcardrecognition;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import Decoder.BASE64Encoder;
import api.util.HttpUtil;
import net.sf.json.JSONObject;

public class Recognize {

	public static final String APPKEY = "your_appkey_here";// 你的appkey
	public static final String URL = "http://api.binstd.com/idcardrecognition/recognize";
	public static final String pic = "11.jpg";// 图片地址
	public static final int typeid = 2;// 证件的类型

	public static void Get() {
		String result = null;
		String url = URL + "?appkey=" + APPKEY + "&typeid=" + typeid;
		Map param = new HashMap();

		try {
			param.put("pic", getBase64(pic));
			result = HttpUtil.sendPost(url, param, "UTF-8");
			JSONObject json = JSONObject.fromObject(result);
			if (json.getInt("status") != 0) {
				System.out.println(json.getString("msg"));
			} else {
				JSONObject resultarr = (JSONObject) json.opt("result");
				Iterator itt = resultarr.keys();
				while (itt.hasNext()) {
					String key = itt.next().toString();
					String value = resultarr.getString(key);
					System.out.println(key + ":" + value);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 图片转为Base64编码格式
	 * 
	 * @param imgFile
	 * @return
	 */
	public static String getBase64(String imgFile) {
		InputStream inputStream = null;
		byte[] data = null;
		try {
			inputStream = new FileInputStream(imgFile);
			data = new byte[inputStream.available()];
			inputStream.read(data);
			inputStream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 加密
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);
	}
}