package com.yafengliang.baidu.ocr;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yafengliang.api.AuthService;
import com.yafengliang.baidu.model.GeneralOcr;
import com.yafengliang.baidu.model.WordsResult;
import com.yafengliang.baidu.util.Base64Util;
import com.yafengliang.baidu.util.FileUtil;
import com.yafengliang.baidu.util.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
 * @Author : yafengliang
 * @Description: 通用OCR
 * @Date : 2020-12-04 11:02
 **/
@Slf4j
public class GeneralOCR {
    //通用OCR_URL
    public static String GENERAL_OCR_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
    //获取ACCESS_TOKEN
    public static String ACCESS_TOKEN = AuthService.getAuth();
    //图片路径
    public static String FILE_PATH = "E:\\SpringBootStudy\\SpringBoot\\config\\News_2020-12-03_11-19-32.jpg";
    public static void main(String[] args) {
        try {
            byte[] bytes = FileUtil.readFileByBytes(FILE_PATH);
            String imgStr = Base64Util.encode(bytes);
            String params = URLEncoder.encode("image","UTF-8")+ "=" + URLEncoder.encode(imgStr,"UTF-8");
            String result = HttpUtil.post(GENERAL_OCR_URL,ACCESS_TOKEN,params);
            log.info("识别结果:{}", result);
            JSONObject jsonObject = JSONObject.parseObject(result);
            GeneralOcr generalOcr = new GeneralOcr();
            String log_id = jsonObject.getString("log_id");
            generalOcr.setLogid(log_id);
            String words_result_num = jsonObject.getString("words_result_num");
            generalOcr.setResultnum(Integer.valueOf(words_result_num));
            String words_result = jsonObject.getString("words_result");
            JSONArray jsonArray = JSON.parseArray(words_result);
//            List<WordsResult> list = new ArrayList<>();
            WordsResult wordsResult = new WordsResult();
            StringBuilder sb = new StringBuilder();
            for (Object obj : jsonArray) {
                JSONObject object = JSONObject.parseObject(obj.toString());
                String words = object.getString("words");
                sb.append(words);
                wordsResult.setWords(words);
//                list.add(wordsResult);
            }
            generalOcr.setResultwords(sb.toString());
//            generalOcr.setResultwords(list);
            log.info("GeneralResult:{}",generalOcr.toString());
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
 最近下载更多
最近下载更多
                
                柒月只是个码农     LV4
                2023年8月29日
            
            
        
                我真的是小明     LV10
                2023年3月21日
            
            
        
                xopomo     LV1
                2023年3月10日
            
            
        
                kevinyu168     LV1
                2022年1月10日
            
            
        
                刘强一     LV13
                2021年10月28日
            
            
        
                戒烟失败     LV3
                2021年5月13日
            
            
        
                lifanfanfan     LV5
                2021年4月22日
            
            
        
                kakaka21     LV3
                2021年2月8日
            
            
        
                bflcf     LV6
                2021年1月5日
            
            
        
                Web项目聚集地     LV24
                2021年1月3日
            
            
         最近浏览更多
最近浏览更多
                
                新哥新奇士橙     LV5
                1月26日
            
            
        
                444105047     LV6
                2024年11月27日
            
            
        
                周周快乐快乐    
                2024年9月8日
            
            
                    暂无贡献等级
            
        
                TY0165     LV20
                2024年6月19日
            
            
        
                kiliny    
                2024年6月5日
            
            
                    暂无贡献等级
            
        
                3334004690     LV11
                2024年5月28日
            
            
        
                kenhomeliu     LV29
                2024年4月30日
            
            
        
                tr1314qq     LV17
                2024年2月5日
            
            
        
                haozhilang     LV9
                2023年10月23日
            
            
        
                柒月只是个码农     LV4
                2023年8月29日
            
            
        
 
     
                 
                