Home  >  Article  >  Backend Development  >  Teach you step by step how to use PHP to connect to Baidu Human Analysis API

Teach you step by step how to use PHP to connect to Baidu Human Analysis API

WBOY
WBOYOriginal
2023-08-26 21:10:46947browse

Teach you step by step how to use PHP to connect to Baidu Human Analysis API

Teach you step by step how to use PHP to connect to Baidu Human Analysis API

With the continuous development of artificial intelligence technology, human body analysis technology has gradually become a hot topic in the application field . Baidu Human Analysis API is a set of human analysis technology based on deep learning, which can realize functions such as face detection, human body key point identification, and human body attribute analysis. This article will use PHP language to connect to Baidu Human Analysis API and give corresponding code examples.

First, we need to apply for an account on the Baidu AI open platform and create an application. After creating the application, we can obtain an API Key and a Secret Key, which will be used in the code.

Next, we need to download and install PHP's HTTP request library to facilitate sending HTTP requests. In this article, we use the Guzzle HTTP request library for example demonstration. Guzzle can be installed through Composer and execute the following command:

composer require guzzlehttp/guzzle

After the installation is complete, we can start writing code. First, create a PHP file named baidu_body_analysis.php.

In the file, we first need to introduce the HTTP request library and related namespaces. The code is as follows:

<?php
require 'vendor/autoload.php';

use GuzzleHttpClient;

// 百度人体分析API的接口地址
$url = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/body_analysis';

Then, we need to build the header of the HTTP request and add our API Key and Add the Secret Key to the header and specify the requested Content-Type as application/x-www-form-urlencoded. The code is as follows:

// 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';

Next, we need to construct the parameters of the HTTP request, which include the image data to be analyzed and the corresponding configuration items. The code is as follows:

// 要分析的图片路径
$imagePath = 'your_image_path';

// 读取图片数据
$imageData = base64_encode(file_get_contents($imagePath));

// 构建HTTP请求的参数
$params = [
    'image' => $imageData,
    'type' => 'complex',
];

Next, we can use the HTTP request library to send an HTTP POST request, add parameters and headers to the request, and specify the URL of the API. The code is as follows:

// 创建HTTP请求客户端
$client = new Client();

// 构建请求
$response = $client->post($url, [
    'headers' => $headers,
    'form_params' => $params,
]);

Finally, we can get the returned human body analysis results from the response and process the results. The code is as follows:

// 获取响应结果
$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'] . "
";
}

So far, we have completed the docking of Baidu Human Analysis API. The complete code is as follows:

<?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'] . "
";
}

Please note that your_api_key, your_secret_key and your_image_path in the above code need to be replaced with your own API Key , Secret Key and the path of the image to be analyzed.

Through the above steps, we have completed the operation of using PHP to connect to Baidu Human Analysis API. You can process and display the corresponding human body analysis results according to your own needs to achieve more interesting applications. Hope this article can be helpful to you!

The above is the detailed content of Teach you step by step how to use PHP to connect to Baidu Human Analysis API. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn