基于Java的百度智能云图像识别基本使用
说明
最近在调用百度API进行图像识别的时候,发现官方提供的代码有些错误,给自己造成了很大困扰,下面主要是基于官方提供的代码进行修改和针对里面不详细的地方给与更详细的步骤。
环境
Eclipse和Java JDK
大家这个自己看其他教程搞定吧。
百度智能云注册
点击注册/登录
登录以后,点击管理控制台
选择产品服务->人工智能->图像识别
到以下界面后点击创建应用
到以下界面大家自己填入各个参数
接着点管理应用,到以下界面
这三个都是很重要的参数
技术文档
接下来点击“技术文档”,选择JavaSDK文档->快速入门
我们在这里要使用JAR包(因为使用maven依赖我还不会呢)
点击官方网站下载
下载后得到一个压缩包
导入Eclipse工程
新建FoodImageClassify工程
接下来,在FoodImageClassify下的src下建立package和BiaduApiDemo类
导入jar包
右键项目FoodImageClassify,选择Properties->Java Build Path
然后在右边窗口选中Libraries,选中Classpath,然后选中Add Exterial JARS…
选中刚刚下载的jar包解压后的文件,点击“打开”,
点击Apply and Close
编写代码
根据百度官网的提示
复制完代码后发现有提示
发现这里官网给错,应该改成AipImageClsassify`
package FoodImageClassiy;
import com.baidu.aip.imageclassify.AipImageClassify;
import org.json.JSONObject;
import java.util.HashMap;
public class BaiduApiDemo {
public static final String APP_ID = "17791340";
public static final String API_KEY = "RYdxIbyn2RFpGeLZGZYbRghd";
public static final String SECRET_KEY = "EAV9CvtlzqrKGWeH46HsGIs4ciqrGAWX";
public static void sample(AipImageClassify client) {
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("top_num", "3");
options.put("filter_threshold", "0.7");
options.put("baike_num", "5");
// 参数为本地路径
String image = "001.jpg";
JSONObject res = client.dishDetect(image, options);
System.out.println(res.toString(1));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化一个AipImageClassifyClient
AipImageClassify client = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY);
sample(client);
}
}
`
原始图片如下:
输出结果如下:
[main] INFO com.baidu.aip.client.BaseClient - get access_token success. current state: STATE_AIP_AUTH_OK
{
"result": [
{
"probability": "0.555274",
"has_calorie": true,
"calorie": "261",
"name": "炸鸡腿",
"baike_info": {}
},
{
"probability": "0.230409",
"has_calorie": true,
"calorie": "206",
"name": "鸡块",
"baike_info": {}
},
{
"probability": "0.050956",
"has_calorie": true,
"calorie": "197",
"name": "鸡米花",
"baike_info": {
"baike_url": "http://baike.baidu.com/item/%E9%B8%A1%E7%B1%B3%E8%8A%B1/7995922",
"image_url": "http://imgsrc.baidu.com/baike/pic/item/96dda144ad34598229c3154602f431adcaef849d.jpg",
"description": "鸡米花炸粉配合腌料作出专业水准的鸡米花,盐酥鸡米花、鸡肉棒、炸鸡排、鸭米花、劲爆猪、上海香香炸翅、香辣炸鸡翅根、原味炸鸡胸肉块、炸鸡翅;建议不要使用鸡腿,因其效果有限。"
}
}
],
"log_id": 263961797204433106,
"result_num": 3
}
结束
成功搞定,接下来就按照自己需求将结果输出得好看一点吧。