百度官方对接文档如下:

https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Xk3bcxe21

我引入的java版本如下:

<dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.8.0</version> </dependency>

按照百度的官方java调用方式如下:

public static String advancedGeneral() {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general";
        try {
            // 本地文件路径
            String filePath = "[本地文件路径]";
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");

            String param = "image=" + imgParam;

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "[调用鉴权接口获取的token]";

            String result = HttpUtil.post(url, accessToken, param);
            System.out.println(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

真实使用才发现各种包找不到,最新代码如下:

  AipImageClassify imgclient = new AipImageClassify("***","****", "****");
  JSONObject jsonObject = imgclient.advancedGeneral( FileUtil.readFileByBytes(filePath), null);

果然符合开箱即用的原则。导入jar包,简单必要参数参入,剩下的api里面都帮你做了。

我们需要的场景是,用户巡检,把巡检地点拍照备份。
后续用户巡检到当前地点拍照,对比识别,防止用户胡乱拍照上传。

咨询百度没有背景识别相关功能,需要提工单具体描述。

想着用这个图像识别曲线救国。

将第一次拍照数据图像识别,记录元素。

后续用户拍照和第一次录入的识别数据对比。

真实使用过程中,发现这个也许不是特别适用,比如室内场景,办公室场景等等,都会识别出大概场景,没法区分两个办公室的不同。

百度图像识别,指定好一个物品拍摄识别率还是很高的。当作备用知识储备mark一下。后续能适用场景使用吧!

 

posted on 2020-03-25 09:27  夜色无边000  阅读(483)  评论(0编辑  收藏  举报