百度ai—细粒度图像识别

本文展示了如何使用百度AI的细粒度图像识别接口进行植物识别,结合欧拉蜜-百科接口获取详细信息。识别接口支持base64编码的图像,要求图像尺寸在特定范围内,并涵盖植物、动物、车型等多种类别。
摘要由CSDN通过智能技术生成
代码如下:

这里调用的图像识别接口是百度ai-细粒度图像识别

识别后对植物详细介绍的接口为欧拉蜜-百科

图像识别支持植物、动物、车型等识别,这里以植物识别为例。

需要识别的图片的限制:图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式。

识别图为:

运行结果为:

名称:绿萝
产地:原产中美、南美的热带雨林地区。现国内各地上海、江苏、福建、台湾、广东、广西等地均有人工园林居室养植。
门:被子植物门
生活型:藤本植物
界:植物界
种:绿萝
目:泽泻目
习性:绿萝属阴性植物,忌阳光直射,喜散射光,较耐阴。室内栽培可置窗旁,但要避免阳光直射。阳光过强会灼伤绿萝的叶片,过阴会使叶面上美丽的斑纹消失,通常以接受四小时的散射光,绿萝的生长发育最好。
土壤:在一般环境下均能生长,性喜温暖、潮湿环境,要求土壤疏松、肥沃、排水良好
科:天南星科
纲:单子叶植物纲
分布:原产中美、南美的热带雨林地区。现国内各地上海、江苏、福建、台湾、广东、广西等地均有人工园林居室养植。
属:绿萝属
域:真核域
大型常绿藤本植物。生长于热带地区常攀援生长在雨林的岩石和树干上,可长成巨大的藤本植物。绿色的叶片上有黄色的斑块。其缠绕性强,气根发达,既可让其攀附于用棕扎成的圆柱上,摆于门厅、宾馆,也可培养成悬垂状置于书房、窗台,是一种较适合室内摆放的花卉。

1、ImageRec.java

package imageRecognition;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class ImageRec {

    public static byte[] getImageByte(String imgFile) {
        InputStream inputStream = null;
        byte[] data = null;
        try {
            inputStream = new FileInputStream(imgFile);
            data = new byte[inputStream.available()];
            inputStream.read(data);
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return data;
    }

    public static String plant() {
        String url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant";
        try {
            // 本地文件路径
            String filePath = "D:\\test.jpg";
            byte[] imgData = getImageByte(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");
            String param = "image=" + imgParam;
            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = AuthService.getAuth();
            String resultStr = sendPost(url+"?access_token="+accessToken, param);           

            JSONObject jsobj = JSONObject.parseObject(resultStr);
            JSONArray jsary = jsobj.getJSONArray("result");
            String name = jsary.getJSONObject(0).getString("name");                      
            return getIntroduce(name);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "fail";
    }

    public static String getIntroduce(String keyword){      
        return new NLIProcess().parse("介绍"+keyword);
    }

    public static String sendPost(String url, String param
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值