一步一步教你使用PHP對接百度人體分析API
#隨著人工智慧技術的不斷發展,人體分析技術也逐漸成為了應用領域的熱門話題。百度人體分析API是一套基於深度學習的人體分析技術,可實現人臉偵測、人體關鍵點辨識、人體屬性分析等功能。本文將透過PHP語言來對接百度人體分析API,並給予對應的程式碼範例。
首先,我們需要在百度AI開放平台上申請一個帳號,並建立一個應用程式。在創建應用程式後,我們可以獲得一個API Key和一個Secret Key,這兩個金鑰將在程式碼中使用。
接下來,我們需要下載並安裝PHP的HTTP請求庫,以便於傳送HTTP請求。在本文中,我們使用Guzzle HTTP請求庫來進行範例示範。可以透過Composer來安裝Guzzle,執行以下指令:
composer require guzzlehttp/guzzle
安裝完成後,我們就可以開始寫程式了。首先,建立一個PHP文件,命名為baidu_body_analysis.php
。
在檔案中,我們首先需要引入HTTP請求庫和相關的命名空間,程式碼如下:
<?php require 'vendor/autoload.php'; use GuzzleHttpClient; // 百度人体分析API的接口地址 $url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis';
然後,我們需要建立HTTP請求的頭部,將我們的API Key和Secret Key加入頭部中,並指定要求的Content-Type為application/x-www-form-urlencoded
。程式碼如下:
// API Key和Secret Key $apiKey = 'your_api_key'; $secretKey = 'your_secret_key'; // 构建HTTP请求的头部 $headers = [ 'Content-Type' => 'application/x-www-form-urlencoded', ]; // 添加API Key和Secret Key到头部 $headers['User-Agent'] = 'BCCS_SDK/3.0 (Windows 7 Ultimate) PHP/7.2.0'; $headers['Authorization'] = 'APPCODE your_appcode';
接下來,我們需要建立HTTP請求的參數,這些參數包括要分析的圖片資料和對應的配置項目。程式碼如下:
// 要分析的图片路径 $imagePath = 'your_image_path'; // 读取图片数据 $imageData = base64_encode(file_get_contents($imagePath)); // 构建HTTP请求的参数 $params = [ 'image' => $imageData, 'type' => 'complex', ];
接下來,我們可以使用HTTP請求庫傳送HTTP POST請求,將參數和頭部加入到請求中,同時指定API的URL。程式碼如下:
// 创建HTTP请求客户端 $client = new Client(); // 构建请求 $response = $client->post($url, [ 'headers' => $headers, 'form_params' => $params, ]);
最後,我們可以從回應中取得傳回的人體分析結果,並對結果進行處理。程式碼如下:
// 获取响应结果 $body = $response->getBody()->getContents(); // 解析JSON格式的响应结果 $result = json_decode($body, true); // 处理分析结果 if (isset($result['person_num'])) { $personNum = $result['person_num']; echo "人数:$personNum "; // 可以继续对其他字段进行处理 } else { // 分析失败,输出错误信息 echo "分析失败 "; echo $result['error_msg'] . " "; }
至此,我們已經完成了百度人體分析API的對接。完整的程式碼如下:
<?php require 'vendor/autoload.php'; use GuzzleHttpClient; // 百度人体分析API的接口地址 $url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis'; // API Key和Secret Key $apiKey = 'your_api_key'; $secretKey = 'your_secret_key'; // 构建HTTP请求的头部 $headers = [ 'Content-Type' => 'application/x-www-form-urlencoded', ]; // 添加API Key和Secret Key到头部 $headers['User-Agent'] = 'BCCS_SDK/3.0 (Windows 7 Ultimate) PHP/7.2.0'; $headers['Authorization'] = 'APPCODE your_appcode'; // 要分析的图片路径 $imagePath = 'your_image_path'; // 读取图片数据 $imageData = base64_encode(file_get_contents($imagePath)); // 构建HTTP请求的参数 $params = [ 'image' => $imageData, 'type' => 'complex', ]; // 创建HTTP请求客户端 $client = new Client(); // 构建请求 $response = $client->post($url, [ 'headers' => $headers, 'form_params' => $params, ]); // 获取响应结果 $body = $response->getBody()->getContents(); // 解析JSON格式的响应结果 $result = json_decode($body, true); // 处理分析结果 if (isset($result['person_num'])) { $personNum = $result['person_num']; echo "人数:$personNum "; // 可以继续对其他字段进行处理 } else { // 分析失败,输出错误信息 echo "分析失败 "; echo $result['error_msg'] . " "; }
請注意,上述程式碼中的your_api_key
、your_secret_key
和your_image_path
需要替換為你自己的API Key 、Secret Key和要分析的圖片路徑。
經過上述步驟,我們就完成了使用PHP對接百度人體分析API的操作。你可以根據自己的需求對相應的人體分析結果進行處理和展示,實現更多有趣的應用。希望本文能對你有幫助!
以上是一步步教你使用PHP對接百度人體分析API的詳細內容。更多資訊請關注PHP中文網其他相關文章!