ホームページ  >  記事  >  バックエンド開発  >  PHPとQiniuクラウドストレージインターフェースを利用して画像のインテリジェントな認識とラベル分類を実現する方法

PHPとQiniuクラウドストレージインターフェースを利用して画像のインテリジェントな認識とラベル分類を実現する方法

WBOY
WBOYオリジナル
2023-07-05 11:33:11681ブラウズ

PHP と Qiniu クラウド ストレージ インターフェイスを使用して画像のインテリジェントな認識とラベル分類を実現する方法

近年、人工知能技術の急速な発展に伴い、画像認識の分野も大きな進歩を遂げています。 。機械学習と深層学習アルゴリズムを使用すると、コンピューターが画像コンテンツをインテリジェントに理解して分析できるようになり、画像のインテリジェントな認識とラベル分類が実現します。この記事では、PHP と Qiniu クラウド ストレージ インターフェイスを使用してこの機能を実装する方法と、対応するコード例を紹介します。

まず、Qiniu Cloud Storage (https://www.qiniu.com/) でアカウントを作成し、Qiniu Cloud Storage の API にアクセスするためのアカウントの AccessKey と SecretKey を取得する必要があります。

次に、Qiniu Cloud Storage が提供する SDK を使用してイメージを操作する必要があります。 PHP では、公式に提供されている Qiniu Cloud Storage SDK (https://developer.qiniu.com/sdk/php) を使用して Qiniu Cloud Storage と対話できます。

以下は、PHP と Qiniu Cloud Storage インターフェイスを使用して画像をアップロードし、Qiniu Cloud Storage の画像認識 API を呼び出して画像のタグ分類を取得する方法を示す簡単なコード例です:

<?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);
}

上記のコードでは、まず AccessKey と SecretKey を使用して Auth オブジェクトを初期化し、次にアップロード トークンを生成します。次に、UploadManager オブジェクトの putFile メソッドを呼び出して画像ファイルを Qiniu Cloud Storage にアップロードし、アップロード結果を取得します。

次に、HTTP リクエストを作成し、Qiniu Cloud Storage の画像認識 API を呼び出します。 API は画像の URL とモデル名をパラメータとして受け取り、画像のラベル分類結果を返します。 HTTP リクエストの送信には、curl ライブラリを使用しますが、リクエスト ヘッダーは AccessKey と SecretKey に基づいて署名される必要があることに注意してください。

最後に、API の戻り結果を解析し、画像のラベル分類を取得し、結果を出力します。

上記のコード例を通じて、PHP と Qiniu クラウド ストレージ インターフェイスを使用して画像のインテリジェントな認識とラベル分類を実現するのが複雑ではないことがわかります。画像を Qiniu Cloud Storage にアップロードし、Qiniu Cloud Storage の画像認識 API を呼び出すことで、画像のラベル分類情報を簡単に取得でき、その後の画像処理やアプリケーションの可能性が高まります。

以上がPHPとQiniuクラウドストレージインターフェースを利用して画像のインテリジェントな認識とラベル分類を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。