要对接百度图像标签接口,首先需要申请百度AI开放平台的账号,并创建一个应用,获取到API Key和Secret Key。
接下来,在PHP中使用curl库发送POST请求,将图片数据和API Key等参数作为请求的参数发送给百度图像标签接口。
具体代码如下:
<?php
// 图片文件路径
$imagePath = 'path/to/image.jpg';
// API Key和Secret Key
$apiKey = 'your_api_key';
$secretKey = 'your_secret_key';
// 请求URL
$url = 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general';
// 图片数据
$imageData = file_get_contents($imagePath);
// 请求参数
$params = array(
'image' => base64_encode($imageData),
'access_token' => '',
);
// 生成签名
$sign = md5($url . '?' . http_build_query($params) . $secretKey);
// 添加签名到请求参数中
$params['sign'] = $sign;
// 发送POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . '?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);
curl_close($ch);
// 解析响应数据
$result = json_decode($response, true);
// 输出结果
if ($result && isset($result['result'])) {
foreach ($result['result'] as $item) {
echo $item['keyword'] . '<br>';
}
} else {
echo '请求失败';
}
?>
以上代码中,需要将$imagePath
替换成你要识别的图片文件路径,将$apiKey
和$secretKey
替换成你在百度AI开放平台上申请的API Key和Secret Key。
然后,通过file_get_contents
函数读取图片文件数据,并使用base64_encode
函数将图片数据进行base64编码。
接下来,将图片数据和其他请求参数(如access_token
)组成一个关联数组$params
。
然后,使用md5
函数生成请求的签名,将签名添加到请求参数中。
最后,使用curl库发送POST请求,将请求URL和参数传递给百度图像标签接口,并获取响应数据。
最后,解析响应数据,并输出识别结果。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站