ホームページ >バックエンド開発 >PHPチュートリアル >PHPとQiniuクラウドストレージインターフェースを利用して物体検出と画像のインテリジェントな分類を実現する方法

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

王林
王林オリジナル
2023-07-05 20:02:19922ブラウズ

PHP と Qiniu クラウド ストレージ インターフェイスを使用して画像のオブジェクト検出とインテリジェントな分類を実装する方法

オブジェクトの検出やインテリジェントな分類など、画像から有用な情報を抽出することは、コンピューターの分野における重要なタスクです。ビジョン。 Qiniu Cloud Storage は、強力なストレージ機能とコンピューティング機能を備えたクラウド サービス プロバイダーとして、開発者にこれらのタスクを実行するための便利なインターフェイスを提供します。この記事では、PHP と Qiniu クラウド ストレージ インターフェイスを使用して、オブジェクト検出と画像のインテリジェントな分類を実装する方法を紹介します。

まず、Qiniu Cloud Storage アカウントを作成し、アクセス キー (アクセス キーと秘密キー) を取得する必要があります。これらのキーは認証とアクセス制御に使用されます。

次に、Qiniu クラウド ストレージ インターフェイスとの対話型機能を提供する PHP SDK をインストールする必要があります。 Qiniu Cloud 公式 Web サイトから SDK をダウンロードし、プロジェクト ディレクトリに抽出できます。

コードでは、最初に SDK を導入し、アクセス キーを構成する必要があります:

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

次に、SDK インターフェイスを使用して画像を Qiniu Cloud Storage にアップロードし、画像アドレスを取得します。 :

// 生成上传 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'];

これで、画像処理に Qiniu クラウド ストレージ インターフェイスを使用できるようになりました。 Qiniu Cloud Storage は、画像の拡大縮小、トリミング、回転などの豊富な画像処理機能を提供します。ここでは、オブジェクトの検出とインテリジェントな分類を実行する方法に焦点を当てます。

物体検出については、Qiniu Cloud Storage が AI ベースの画像処理機能を提供します。 Qiniu Cloud Storage のインターフェイスを使用して、アップロードされた写真に対して物体検出を実行するリクエストを送信し、検出結果を取得できます。

// 构建物体检测的请求参数
$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'] . "
";
}

インテリジェントな分類の場合、Qiniu Cloud Storage は画像に基づいて写真をインテリジェントに分類することもできます。コンテンツ。 。 Qiniu Cloud Storage インターフェイスを使用してリクエストを送信し、分類結果を取得できます。

// 构建智能分类的请求参数
$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 ? '正常' : '不确定') . "
";
}

上記のコード例を通じて、PHP と Qiniu Cloud Storage インターフェイスを使用して、オブジェクトの検出と画像のインテリジェントな分類を実行できます。実際のニーズに基づいて、プロジェクトに合わせてコードを調整できます。この記事がお役に立てば幸いです!

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

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