批量识别图版中的文字信息之百度AI文字识别

百度AI文字识别

package cc.ocr.baidu;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONObject;

import com.baidu.aip.ocr.AipOcr;

public class Sample {
    //设置APPID/AK/SK
    public static final String APP_ID = "";
    public static final String API_KEY = "";
    public static final String 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启动参数设置此环境变量
        System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");

        // 调用接口
        String path = "test.png";
        JSONObject res = client.basicGeneral(path, new HashMap<String, String>());
        System.out.println(res.toString(2));
        MyFormat(res);
    }
    
    public static void MyFormat(JSONObject res) {
    	JSONArray jsonArray = res.getJSONArray("words_result");
    	jsonArray.forEach(item->{
    		JSONObject jobj = (JSONObject) item;
    		System.out.println(jobj.get("words"));
    	});
//    	for(Object obj:words_result) {
//    		Map<String,String> map = (Map<String, String>) obj;
//    		System.out.println(map.get("words"));
//    	}
    }
    
    
    /**
     *获取某个目录下所有直接下级文件,不包括目录下的子目录的下的文件,所以不用递归获取
     */
     public static List<String> getFiles(String path) {
         List<String> files = new ArrayList<String>();
         File file = new File(path);
         File[] tempList = file.listFiles();

         for (int i = 0; i < tempList.length; i++) {
             if (tempList[i].isFile()) {
                 files.add(tempList[i].toString());
                 //文件名,不包含路径
                 //String fileName = tempList[i].getName();
             }
             if (tempList[i].isDirectory()) {
                 //这里就不递归了,
             }
         }
         return files;
     }
}

需要导入百度AI Java SDK

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值