Maison  >  Article  >  développement back-end  >  Méthode pour réaliser une reconnaissance intelligente et une classification d'étiquettes d'images à l'aide de PHP et de l'interface de stockage cloud Qiniu

Méthode pour réaliser une reconnaissance intelligente et une classification d'étiquettes d'images à l'aide de PHP et de l'interface de stockage cloud Qiniu

WBOY
WBOYoriginal
2023-07-05 11:33:11681parcourir

Une méthode d'utilisation de PHP et de l'interface de stockage cloud Qiniu pour réaliser une reconnaissance intelligente et une classification d'étiquettes d'images

Ces dernières années, avec le développement rapide de la technologie de l'intelligence artificielle, le domaine de la reconnaissance d'images a également fait des progrès significatifs. Grâce à des algorithmes d’apprentissage automatique et d’apprentissage profond, nous pouvons permettre aux ordinateurs de comprendre et d’analyser intelligemment le contenu des images, obtenant ainsi une reconnaissance intelligente et une classification par étiquettes des images. Cet article expliquera comment utiliser PHP et l'interface de stockage cloud Qiniu pour implémenter cette fonction et donnera des exemples de code correspondants.

Tout d'abord, nous devons créer un compte sur Qiniu Cloud Storage (https://www.qiniu.com/) et obtenir l'AccessKey et la SecretKey du compte pour accéder à l'API de Qiniu Cloud Storage.

Ensuite, nous devons utiliser le SDK fourni par Qiniu Cloud Storage pour exploiter les images. En PHP, vous pouvez utiliser le SDK Qiniu Cloud Storage officiellement fourni (https://developer.qiniu.com/sdk/php) pour interagir avec Qiniu Cloud Storage.

Ce qui suit est un exemple de code simple qui montre comment utiliser PHP et l'interface Qiniu Cloud Storage pour télécharger une image et appeler l'API de reconnaissance d'image de Qiniu Cloud Storage pour obtenir la classification des balises de l'image :

<?php

require 'autoload.php'; // 导入七牛云存储的PHP SDK

use QiniuStorageUploadManager;
use QiniuAuth;

// 需要填写七牛云存储的AccessKey和SecretKey
$accessKey = 'your-access-key';
$secretKey = 'your-secret-key';

// 初始化Auth对象
$auth = new Auth($accessKey, $secretKey);

// 需要上传的图片文件路径
$filePath = './path/to/your/image.jpg';

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

// 初始化UploadManager对象
$uploadMgr = new UploadManager();

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

if ($err !== null) {
    // 上传图片失败
    echo 'Upload failed:', $err->message();
} else {
    // 上传图片成功
    $imageKey = $ret['key'];
    
    // 调用七牛云存储的图像识别API,获取图片的标签分类
    $url = 'http://ai.qiniuapi.com/v1/ai/predict';
    $data = ['url' => 'your-image-url', 'model' => 'img_tag'];

    $headers = [
        'Content-Type:application/json',
        'Authorization:Qiniu ' . $auth->signRequest($url, null, 'POST', $headers, json_encode($data))
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

    $response = curl_exec($ch);
    curl_close($ch);

    // 解析返回的结果
    $result = json_decode($response, true);

    // 获取图片的标签分类
    $labels = isset($result['result']) ? $result['result'] : [];

    // 输出图片的标签分类
    echo 'Image labels:', implode(', ', $labels);
}

Dans le code ci-dessus, nous initialisons d'abord un objet Auth à l'aide d'AccessKey et SecretKey, puis générons un jeton de téléchargement. Ensuite, appelez la méthode putFile de l'objet UploadManager pour télécharger le fichier image sur Qiniu Cloud Storage et obtenez le résultat du téléchargement.

Ensuite, nous construisons une requête HTTP et appelons l'API de reconnaissance d'image de Qiniu Cloud Storage. L'API accepte une URL d'image et un nom de modèle comme paramètres et renvoie les résultats de classification des étiquettes de l'image. Nous utilisons la bibliothèque curl pour envoyer des requêtes HTTP. Ce qu'il faut noter, c'est que l'en-tête de la requête doit être signé en fonction de AccessKey et SecretKey.

Enfin, nous analysons les résultats de retour de l'API, obtenons la classification des étiquettes de l'image et générons les résultats.

Grâce aux exemples de code ci-dessus, nous pouvons voir qu'il n'est pas compliqué d'utiliser PHP et l'interface de stockage cloud Qiniu pour réaliser une reconnaissance intelligente et une classification par étiquettes des images. En téléchargeant des images sur Qiniu Cloud Storage, puis en appelant l'API de reconnaissance d'image de Qiniu Cloud Storage, nous pouvons facilement obtenir les informations de classification d'étiquette de l'image, offrant ainsi plus de possibilités pour le traitement et les applications d'images ultérieurs.

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