Maison >développement back-end >tutoriel php >Méthode pour réaliser la détection d'objets et la classification intelligente d'images à l'aide de PHP et de l'interface de stockage cloud Qiniu

Méthode pour réaliser la détection d'objets et la classification intelligente d'images à l'aide de PHP et de l'interface de stockage cloud Qiniu

王林
王林original
2023-07-05 20:02:19922parcourir

Utiliser PHP et l'interface de stockage cloud Qiniu pour mettre en œuvre la détection d'objets et la classification intelligente des images

Extraire des informations utiles à partir d'images, telles que la détection d'objets et la classification intelligente, est une tâche importante dans le domaine de la vision par ordinateur. Qiniu Cloud Storage, en tant que fournisseur de services cloud doté de puissantes capacités de stockage et de calcul, fournit aux développeurs des interfaces pratiques pour accomplir ces tâches. Dans cet article, nous présenterons comment utiliser l'interface de stockage cloud PHP et Qiniu pour implémenter la détection d'objets et la classification intelligente des images.

Tout d'abord, nous devons créer un compte Qiniu Cloud Storage et obtenir la clé d'accès (Access Key et Secret Key). Ces clés seront utilisées pour l'authentification et le contrôle d'accès.

Ensuite, nous devons installer le SDK PHP, qui fournit des fonctions interactives avec l'interface de stockage cloud Qiniu. Vous pouvez télécharger le SDK depuis le site officiel de Qiniu Cloud et le décompresser dans le répertoire de votre projet.

Dans le code, nous devons d'abord introduire le SDK et configurer la clé d'accès :

require_once 'path/to/sdk/autoload.php';
use QiniuAuth;
use QiniuStorageUploadManager;

// 需要填写你的 Access Key 和 Secret Key
$accessKey = 'YOUR_ACCESS_KEY';
$secretKey = 'YOUR_SECRET_KEY';

// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);

Ensuite, nous pouvons utiliser l'interface du SDK pour télécharger l'image sur Qiniu Cloud Storage et obtenir l'adresse de l'image :

// 生成上传 Token
$bucket = 'YOUR_BUCKET_NAME';
$token = $auth->uploadToken($bucket);

// 要上传文件的本地路径
$filePath = 'path/to/image.jpg';

// 上传到七牛云存储
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($token, null, $filePath);

// 获取上传后的图片地址
$imageUrl = $ret['key'];

Maintenant, nous pouvons utiliser l'interface de Qiniu Cloud Storage pour le traitement des images. Qiniu Cloud Storage offre une multitude de fonctions de traitement d'image, notamment la mise à l'échelle, le recadrage, la rotation, etc. Ici, nous nous concentrerons sur la façon d’effectuer la détection d’objets et la classification intelligente.

Pour la détection d'objets, Qiniu Cloud Storage fournit des capacités de traitement d'image basées sur l'IA. Nous pouvons utiliser l'interface de Qiniu Cloud Storage pour envoyer une requête, effectuer une détection d'objet sur les images téléchargées et obtenir les résultats de détection :

// 构建物体检测的请求参数
$requestUrl = 'http://ai.qiniuapi.com/v1/image/realtime?detectType=3&returnLabels=1';

// 发送请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $requestUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['url' => $imageUrl]));
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($curl);
curl_close($curl);

// 解析返回的结果
$resultArray = json_decode($result, true);
$labels = $resultArray['result'][0]['labels'];

// 打印物体标签
foreach ($labels as $label) {
    echo $label['name'] . "
";
}

Pour une classification intelligente, Qiniu Cloud Storage peut également classer intelligemment les images en fonction du contenu de l'image. Nous pouvons utiliser l'interface Qiniu Cloud Storage pour envoyer des requêtes et obtenir des résultats de classification :

// 构建智能分类的请求参数
$requestUrl = 'http://ai.qiniuapi.com/v1/image/censor?scenes=';
$scenes = ['pulp', 'terror', 'politician', 'ads', 'live', 'sensitive'];
$requestUrl .= implode(',', $scenes);

// 发送请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $requestUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['url' => $imageUrl]));
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($curl);
curl_close($curl);

// 解析返回的结果
$resultArray = json_decode($result, true);
$censorResults = $resultArray['result'];

// 打印分类结果
foreach ($censorResults as $scene => $censorResult) {
    echo $scene . ': ' . ($censorResult['suggestion'] == 0 ? '正常' : '不确定') . "
";
}

Grâce aux exemples de code ci-dessus, nous pouvons implémenter la détection d'objets et la classification intelligente des images à l'aide de PHP et de l'interface Qiniu Cloud Storage. Vous pouvez ajuster le code en fonction de votre projet en fonction des besoins réels. J'espère que cet article vous aidera !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn