【人工智能】动物、植物、车型、菜品、LOGO识别示例代码


声明:本文转载自https://my.oschina.net/xshuai/blog/1574337,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

图像识别部分接口Java-API调用示例代码

https://gitee.com/xshuai/ai/不是完整的web项目大家没必要下载运行。复制|下载相关代码即可

  • 准备工作 已经创建了图像识别应用并且拿到apikey sercetkey得到AccessToken
  • 代码中所用到的Java对象类所在目录https://gitee.com/xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/pojo/image
  • 代码中所用到的工具类 https://gitee.com/xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/util/baidu 只需要Base64Util FileUtil HttpUtil三个哦
  • 别-JavaAPI示例代码

package com.xs.image;  import java.net.URLEncoder;  import com.alibaba.fastjson.JSON; import com.xs.common.image.ImageAPI; import com.xs.pojo.image.Animal; import com.xs.pojo.image.Plant; import com.xs.util.baidu.Base64Util; import com.xs.util.baidu.FileUtil; import com.xs.util.baidu.HttpUtil;  /**  * 动物识别Demo  * @author 小帅丶  *  */ public class AnimalDemo { 	public static void main(String[] args) throws Exception { 		//返回字符串 //		String result = getAnimalResult("G:/animal.jpg", "24.509012e6b7fd242cff7557c13dc436de.2592000.1512873097.282335-10131029"); //		System.out.println(result); 		//返回java对象 		Animal plant = getAnimalBean("图片路径", "自己应用apikey&sercetkey生成的AccessToken"); 		System.out.println(plant.getResult().get(0).getName()); 	} 	/** 	 * 动物识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return 字符串 	 * @throws Exception 	 */ 	public static String getAnimalResult(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.ANIMAL_API, accessToken, param);         System.out.println(result);         return result; 	} 	/** 	 * 动物识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return LOGO对象 	 * @throws Exception 	 */ 	public static Animal getAnimalBean(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.ANIMAL_API, accessToken, param); 		Animal animal = JSON.parseObject(result,Animal.class);         System.out.println(result);         return animal; 	} }
  • 别-JavaAPI示例代码

package com.xs.image;  import java.net.URLEncoder;  import com.alibaba.fastjson.JSON; import com.xs.common.image.ImageAPI; import com.xs.pojo.image.Plant; import com.xs.util.baidu.Base64Util; import com.xs.util.baidu.FileUtil; import com.xs.util.baidu.HttpUtil;  /**  * 植物识别  * @author 小帅丶  *  */ public class PlantDemo { 	public static void main(String[] args) throws Exception { 		//返回字符串 //		String result = getPlantResult("图片路径", "自己应用apikey&sercetkey生成的AccessToken"); //		System.out.println(result); 		//返回java对象 //		Plant plant = getPlantBean("图片路径", "自己应用apikey&sercetkey生成的AccessToken"); //		System.out.println(plant.getResult().get(0).getName()); 	} 	/** 	 * 植物识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return 字符串 	 * @throws Exception 	 */ 	public static String getPlantResult(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.PLANT_API, accessToken, param);         System.out.println(result);         return result; 	} 	/** 	 * 植物识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return LOGO对象 	 * @throws Exception 	 */ 	public static Plant getPlantBean(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.PLANT_API, accessToken, param); 		Plant plant = JSON.parseObject(result,Plant.class);         System.out.println(result);         return plant; 	} }
  • 别-JavaAPI示例代码

package com.xs.image;  import java.net.URLEncoder;  import com.alibaba.fastjson.JSON; import com.xs.common.image.ImageAPI; import com.xs.pojo.image.Animal; import com.xs.pojo.image.CarMode; import com.xs.util.baidu.Base64Util; import com.xs.util.baidu.FileUtil; import com.xs.util.baidu.HttpUtil;  /**  * 车型识别Demo  * @author 小帅丶  *  */ public class CarModelDemo { 	public static void main(String[] args) throws Exception { 		//返回字符串 //		String result = getCarModeResult("图片路径", "自己应用apikey&sercetkey生成的AccessToken"); //		System.out.println(result); 		//返回java对象 		CarMode plant = getCarModeBean("图片路径", "自己应用apikey&sercetkey生成的AccessToken"); 		System.out.println(plant.getResult().get(0).getName()); 	} 	/** 	 * 车型识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return 字符串 	 * @throws Exception 	 */ 	public static String getCarModeResult(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.CAR_API, accessToken, param);         System.out.println(result);         return result; 	} 	/** 	 * 车型识别Demo 	 * @param imagePath 	 * @param accessToken 	 * @return CarMode对象 	 * @throws Exception 	 */ 	public static CarMode getCarModeBean(String imagePath,String accessToken) throws Exception{ 		byte[] imgData = FileUtil.readFileByBytes(imagePath);         String imgStr = Base64Util.encode(imgData); 		String param = "image=" + URLEncoder.encode(imgStr,"UTF-8");         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 		String result = HttpUtil.post(ImageAPI.CAR_API, accessToken, param); 		CarMode carMode = JSON.parseObject(result,CarMode.class);         System.out.println(result);         return carMode; 	} }

如何获取AccessToken:http://ai.baidu.com/forum/topic/show/496505

官网文档中心:http://ai.baidu.com/docs#/ImageClassify-API/top

本文发表于2017年11月16日 12:33
(c)注:本文转载自https://my.oschina.net/xshuai/blog/1574337,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2053 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1