百度OCR识别(自定义模板)

1、设置自定义模板
1.1百度文字识别 网址: http://ai.baidu.com/tech/ocr
百度OCR识别(自定义模板)_第1张图片
1.2 点击立即使用、 登录 百度云
百度OCR识别(自定义模板)_第2张图片

1.3 进入设置自定义模板界面
百度OCR识别(自定义模板)_第3张图片
在 自定义模板文字识别 - 模板管理 设置模板信息(可以根据百度教程自行设置)
2、进入百度云控制台
百度OCR识别(自定义模板)_第4张图片
2.1 创建一个应用
百度OCR识别(自定义模板)_第5张图片
百度OCR识别(自定义模板)_第6张图片
3、百度SDK下载网址 百度SDK

3、接口文档网址:百度java SDK 文档
3.1 java pom.xml 文件设置我使用的是4.2.0 版本sdk


    com.baidu.aip
    java-sdk
    4.2.0

public class BaiduOcrUtil {

	 //设置APPID/AK/SK
    public static final String APP_ID = "你的APP_ID";
    public static final String API_KEY = "你的API_KEY";
    public static final String SECRET_KEY = "你的SECRET_KEY";
    //

    public static void main(String[] args) {
        // 初始化一个AipOcr
        AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);

        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
        //client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
        //client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理

        // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
        // 也可以直接通过jvm启动参数设置此环境变量

        // 调用接口
        sample(client);
        
    }
    public static void sample(AipOcr client) {
    	long start_time=System.currentTimeMillis();
        // 传入可选参数调用接口
        HashMap options = new HashMap();
        
        String templateSign = "模板ID(templateSign)";
        
        // 参数为本地图片路径
        String image ="image_url";
        JSONObject res = client.custom(image, templateSign, options);
    	long end_time=System.currentTimeMillis();
    	System.out.println((end_time-start_time)/1000);
    	JSONObject data = res.getJSONObject("data");
    	JSONArray Array1 = data.getJSONArray("ret");
    	for(int i = 0; i < Array1.length(); i ++)
		{
    		JSONObject Array2=Array1.getJSONObject(i);
    		Object ob1= Array2.get("word");
    		Object ob2=Array2.get("word_name");
    		System.err.println(ob1.toString()+ob2.toString());
    		
		}
    	System.err.println(Array1);
    }
  //图片到byte数组
    public static byte[] readImageFile(String path){
      byte[] data = null;
      FileImageInputStream input = null;
      try {
        input = new FileImageInputStream(new File(path));
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        byte[] buf = new byte[1024];
        int numBytesRead = 0;
        while ((numBytesRead = input.read(buf)) != -1) {
        output.write(buf, 0, numBytesRead);
        }
        data = output.toByteArray();
        output.close();
        input.close();
      }
      catch (FileNotFoundException ex1) {
        ex1.printStackTrace();
      }
      catch (IOException ex1) {
        ex1.printStackTrace();
      }
      return data;
    }

你可能感兴趣的:(AI)