首頁 >後端開發 >php教程 >利用PHP與七牛雲儲存介面實現圖片的物件偵測與智慧分類的方法

利用PHP與七牛雲儲存介面實現圖片的物件偵測與智慧分類的方法

王林
王林原創
2023-07-05 20:02:19920瀏覽

利用PHP與七牛雲儲存介面實現圖片的物件偵測和智慧分類的方法

從圖片中提取有用的信息,如物件偵測和智慧分類,是電腦視覺領域的重要任務。而七牛雲端儲存作為一家擁有強大儲存和運算能力的雲端服務供應商,為開發人員提供了便捷的介面來實現這些任務。在本文中,我們將介紹如何利用PHP與七牛雲儲存介面來實現圖片的物件偵測與智慧分類。

首先,我們需要建立一個七牛雲端儲存的帳號,並取得存取金鑰(Access Key和Secret Key)。這些金鑰將用於進行身份驗證和存取權限控制。

接下來,我們需要安裝PHP SDK,該SDK提供了與七牛雲端儲存介面的互動功能。你可以從七牛雲官方網站下載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的介面來上傳圖片到七牛雲存儲,並取得該圖片的位址:

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

現在,我們可以利用七牛雲端儲存的介面進行影像處理。七牛雲端儲存提供了豐富的影像處理功能,包括圖片的縮放、裁剪、旋轉等。在這裡,我們將重點介紹如何進行物體偵測和智慧分類。

對於物件偵測,七牛雲端儲存提供了基於AI的影像處理能力。我們可以使用七牛雲端儲存的介面發送請求,將上傳的圖片進行物體偵測,並取得偵測結果:

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

對於智慧分類,七牛雲端儲存也能夠根據影像內容為圖片進行智慧分類。我們可以使用七牛雲端儲存的介面發送請求,並取得分類結果:

// 构建智能分类的请求参数
$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與七牛雲儲存介面進行圖片的物件偵測和智慧分類。你可以根據實際需求對程式碼進行調整,使其適應你的專案。希望本文對你有幫助!

以上是利用PHP與七牛雲儲存介面實現圖片的物件偵測與智慧分類的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn