百度图像识别SDK实验
软件构造实验作业
一、实验要求
任务一:配置百度图像识别Java SDK
任务二:了解百度图像识别相关功能并进行总结
任务三:完成动物识别,自行拍摄动物图片进行上传并查看结果
任务四:完成植物识别,自行拍摄植物图片进行上传并查看结果
二、实验步骤
任务一:配置百度识别Java SDK
1.下载:
在pom.xml下:
任务二:了解百度图像识别相关功能并进行总结
百度图像识别基于深度学习及大规模图像训练,准确识别图片中的物体类别、位置、置信度等综合信息。产品功能接口名称接口能力简要描述通用图像分析图像主体检测识别图像中的主体具体坐标位置。细粒度图像识别菜品识别检测用户上传的菜品图片,返回具体的菜名、卡路里、置信度信息。车型识别检测用户上传的车辆图片,识别所属车型,包括车辆品牌及具体型号。logo商标识别识别图片中包含的商品LOGO信息,返回LOGO品牌名称、在图片中的位置、置信度。动物识别检测用户上传的动物图片,返回动物名称、置信度信息。植物识别检测用户上传的植物图片,返回植物名称、置信度信息。定制化图像识别定制图像分类基于自定义训练出的图像分类模型,实现个性化图像识别。
任务三:完成动物识别,自行拍摄动物图片进行上传并查看结果
package first;
import com.baidu.aip.imageclassify.AipImageClassify;
import org.json.JSONObject;
import java.util.HashMap;
public class Sample {
//设置APPID/AK/SK
public static final String APP_ID = "25053660";
public static final String API_KEY = "QN9rXX9viPXawRoOUT3BoCDk";
public static final String SECRET_KEY = "RueT3OA7qNAdMjjMGFUD64YlAecX9Mzu";
public static void main(String[] args) {
// 初始化一个AipImageClassify
AipImageClassify client = new AipImageClassify(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代理
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("top_num", "3");
options.put("baike_num", "5");
// 参数为本地路径
String image = "D:\\code\\idea\\baidu\\src\\first\\dong.png";
JSONObject res = client.animalDetect(image, options);
System.out.println(res.toString(2));
}
}
任务四:完成植物识别,自行拍摄植物图片进行上传并查看结果
package first;
import com.baidu.aip.imageclassify.AipImageClassify;
import org.json.JSONObject;
import java.util.HashMap;
public class Sample {
//设置APPID/AK/SK
public static final String APP_ID = "25053660";
public static final String API_KEY = "QN9rXX9viPXawRoOUT3BoCDk";
public static final String SECRET_KEY = "RueT3OA7qNAdMjjMGFUD64YlAecX9Mzu";
public static void main(String[] args) {
// 初始化一个AipImageClassify
AipImageClassify client = new AipImageClassify(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代理
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("baike_num", "5");
// 参数为本地路径
String image = "D:\\code\\idea\\baidu\\src\\first\\img.png";
JSONObject res = client.plantDetect(image, options);
System.out.println(res.toString(2));
}
}
三、实验总结
通过这次实验,我对百度的图像识别有了一定的认识和了解,自己动手参照文档,完成了动物识别和图像识别,了解到了动物识别和图像识别的操作和一些细节。同时,需要注意的是使用百度识别Java SDK需要先领取次数,领取后也需要一些时间才能领取成功,我在最开始的时候,只是申请测试序列号,没有领取次数然后一直报错,所以,一定要领取次数。