Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah untuk merealisasikan pengesanan objek dan pengelasan pintar gambar menggunakan antara muka storan awan PHP dan Qiniu

Kaedah untuk merealisasikan pengesanan objek dan pengelasan pintar gambar menggunakan antara muka storan awan PHP dan Qiniu

王林
王林asal
2023-07-05 20:02:19894semak imbas

Menggunakan antara muka storan awan PHP dan Qiniu untuk melaksanakan pengesanan objek dan pengelasan pintar gambar

Mengekstrak maklumat berguna daripada gambar, seperti pengesanan objek dan pengelasan pintar, adalah tugas penting dalam bidang penglihatan komputer. Storan Awan Qiniu, sebagai penyedia perkhidmatan awan dengan keupayaan storan dan pengkomputeran yang berkuasa, menyediakan antara muka yang mudah untuk pemaju untuk mencapai tugas ini. Dalam artikel ini, kami akan memperkenalkan cara menggunakan antara muka storan awan PHP dan Qiniu untuk melaksanakan pengesanan objek dan pengelasan pintar gambar.

Pertama, kita perlu membuat akaun Storan Awan Qiniu dan mendapatkan kunci akses (Kunci Akses dan Kunci Rahsia). Kekunci ini akan digunakan untuk pengesahan dan kawalan akses.

Seterusnya, kita perlu memasang PHP SDK, yang menyediakan fungsi interaktif dengan antara muka storan awan Qiniu. Anda boleh memuat turun SDK daripada tapak web rasmi Qiniu Cloud dan mengekstraknya ke direktori projek anda.

Dalam kod, kita perlu memperkenalkan SDK terlebih dahulu dan mengkonfigurasi kekunci akses:

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

Seterusnya, kita boleh menggunakan antara muka SDK untuk memuat naik imej ke Qiniu Cloud Storage dan mendapatkan alamat imej:

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

Kini, kita boleh menggunakan antara muka Storan Awan Qiniu untuk pemprosesan imej. Storan Awan Qiniu menyediakan pelbagai fungsi pemprosesan imej, termasuk penskalaan imej, pemangkasan, putaran, dsb. Di sini, kami akan memberi tumpuan kepada cara melakukan pengesanan objek dan pengelasan pintar.

Untuk pengesanan objek, Qiniu Cloud Storage menyediakan keupayaan pemprosesan imej berasaskan AI. Kami boleh menggunakan antara muka Storan Awan Qiniu untuk menghantar permintaan, melakukan pengesanan objek pada gambar yang dimuat naik dan mendapatkan hasil pengesanan:

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

Untuk pengelasan pintar, Storan Awan Qiniu juga boleh mengelaskan gambar berdasarkan kandungan imej secara bijak. Kami boleh menggunakan antara muka Storan Awan Qiniu untuk menghantar permintaan dan mendapatkan hasil klasifikasi:

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

Melalui contoh kod di atas, kami boleh melaksanakan pengesanan objek dan pengelasan imej pintar menggunakan antara muka PHP dan Storan Awan Qiniu. Anda boleh melaraskan kod agar sesuai dengan projek anda berdasarkan keperluan sebenar. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Kaedah untuk merealisasikan pengesanan objek dan pengelasan pintar gambar menggunakan antara muka storan awan PHP dan Qiniu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn