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

图像识别部分接口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

转载于:https://my.oschina.net/xshuai/blog/1574337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值