php如何调用百度AI接口

1.首先到百度AI处申请到相应识别的接口权限
在这里插入图片描述

创建应用并选择管理应用获得ID SK AK

在这里插入图片描述

点击此处的SDK下载

在这里插入图片描述

选择下载PHP SDK

在这里插入图片描述

在tp5中的app下创建一个文件夹extend,并把下载的文件夹导入,重命名为baidu,便于寻找,如我使用植物识别就需要导入下面的

在这里插入图片描述

在lib/。。和下面的AipImageClassify中添加命名空间,记住这几个文件都需要修改噢

在这里插入图片描述
在这里插入图片描述

至此,所有的准备工作已经搞定了。接下来只需要在相应的php中使用就行了
给一个我使用的案例
//植物识别接口调用

public function Aiplant(){
    $file = request()->file('image');
    $type = 'plant';
    if($file){
        $imgUrl= '../public/uploads'.'/'. $type.'/' .  date("Y/m/d");
        $info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->rule('uniqid')->move($imgUrl);
        if($info){
            $APP_ID = 'xxxxxxx';							//填写你的百度APP_ID
            $API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';			//填写你的百度API_KEY
            $SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx';		//填写你的百度SECRET_KEY
            $client = new AipImageClassify($APP_ID, $API_KEY, $SECRET_KEY);
            //获取图片的名字
            $imgName = $info->getSaveName();
            $file =  $imgUrl."/".$imgName;
            // 如果有可选参数
            $options = array();
            $options["baike_num"] = 5;
            $image = file_get_contents($file);
            $res = $client->plantDetect($image,$options);
            //同时向数据库插入识别记录,只插入识别率最高的
            if(!isset($res['result'][0]['baike_info']['image_url'])||!isset($res['result'][0]['baike_info']['description'])){
                $image_url = "";
                $description = "";
            }
            else{
                $image_url = $res['result'][0]['baike_info']['image_url'];
                $description = $res['result'][0]['baike_info']['description'];
            }
            $return_data['list'] = $res;
            $return_data['img'] = $file;
            return_msg(200, '识别成功!', $return_data);
        }else{
            return_msg(400, '识别失败!', $file->getError());
        }
    }
}
发布了37 篇原创文章 · 获赞 13 · 访问量 4532

猜你喜欢

转载自blog.csdn.net/qq_42836388/article/details/101645701