百度官方对接文档如下:
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一下。后续能适用场景使用吧!
浙公网安备 33010602011771号