利用百度接口做的Ai技能(一)

最近很火的人工智也就是我们说的Ai,其实AI这个东西很早就出现过。1956年夏季,以麦卡赛、明斯基、罗切斯特和申农等为首的一批有远见卓识的年轻科学家在一起聚会,共同研究和探讨用机器模拟智能的一系列有关问题,并首次提出了“人工智能”这一术语,它标志着“人工智能”这门新兴学科的正式诞生。IBM公司“深蓝”电脑击败了人类的世界国际象棋冠军更是人工智能技术的一个完美表现。
在咱们国内做AI的公司也不少,譬如百度,腾讯等等…因为我本身也对人工智能有着很大的兴趣所以闲暇时间看了一下百度的接口写了一个小的接口


import java.net.URLEncoder;

import net.sf.json.JSONObject;

import com.xs.common.APIContants;
import com.xs.util.baidu.AIUtil;
import com.xs.util.baidu.Base64Util;
import com.xs.util.baidu.FileUtil;
import com.xs.util.baidu.HttpUtil;

/**
 * 百度通用文字识别
 * @author 同享QQ548941
 * 2018年7月24日16:59:49
 */
public class Accurate2Text {
    /**
     * 接口地址
     */
    public static String ACCURATE_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate";

    public static void main(String[] args)throws Exception {
        String filePath ="你本地的图片地址";
        String recognize_granularity ="small";
        Boolean detect_direction = true;
        String vertexes_location="true";
        String probability ="true";
//      getAccurate2Text(filePath, recognize_granularity, detect_direction, vertexes_location, probability);
        getAccurate2Text(filePath);
    }
    /**
     * 所有参数请求
     * @param filePath 将要识别的图片路径
     * @param recognize_granularity  是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置
     * @param detect_direction 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。
     *                          可选值包括:- true:检测朝向;- false:不检测朝向。
     * @param vertexes_location 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false
     * @param probability 是否返回识别结果中每一行的置信度
     * @return
     */
    public static JSONObject getAccurate2Text(String filePath,String recognize_granularity,Boolean detect_direction,String vertexes_location,String probability){
        String result = "";
        try {
                byte[] imgData = FileUtil.readFileByBytes(filePath);
                String imgStr = Base64Util.encode(imgData);
               //简单识别图片上的文字
                String params = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(imgStr, "UTF-8")
                        +"&recognize_granularity="+recognize_granularity
                        +"&detect_direction="+detect_direction
                        +"&vertexes_location="+vertexes_location
                        +"&probability="+probability;
                result = HttpUtil.post(ACCURATE_URL,"替换成自己的accestoken", params);
                //得到的结果转JSON
                JSONObject jsonObject = JSONObject.fromObject(result);
                System.out.println(jsonObject);
                return jsonObject;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     * 只传递必须参数的方法
     * @param filePath 要识别的图片路径
     * @return
     */
    public static JSONObject getAccurate2Text(String filePath){
        String result = "";
        try {
                byte[] imgData = FileUtil.readFileByBytes(filePath);
                String imgStr = Base64Util.encode(imgData);
               //简单识别图片上的文字
                String params = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(imgStr, "UTF-8");
                result = HttpUtil.post(ACCURATE_URL,"替换成自己的accestoken", params);
                //得到的结果转JSON
                JSONObject jsonObject = JSONObject.fromObject(result);
                System.out.println(jsonObject);
                return jsonObject;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

因为也是自己第一次发帖,所以有很多东西都不是很清楚,总之对技术的追求都是不断地,不喜勿喷

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值