Rumah >pembangunan bahagian belakang >tutorial php >Kaedah untuk merealisasikan pengecaman muka dan carian imej gambar menggunakan antara muka storan awan PHP dan Qiniu

Kaedah untuk merealisasikan pengecaman muka dan carian imej gambar menggunakan antara muka storan awan PHP dan Qiniu

PHPz
PHPzasal
2023-07-05 08:19:391048semak imbas

Kaedah menggunakan antara muka storan awan PHP dan Qiniu untuk merealisasikan pengecaman muka dan carian imej gambar

Pengenalan:
Dengan perkembangan pesat Internet, teknologi pemprosesan imej telah menjadi semakin matang, dan pengecaman muka dan carian imej telah menjadi bahagian penting kami dalam kehidupan seharian. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP dan antara muka storan awan Qiniu untuk melaksanakan pengecaman muka dan fungsi carian imej pada gambar. Contoh kod yang sepadan juga akan disediakan.

1 Kerja penyediaan:
1 Mohon untuk akaun storan awan Qiniu dan dapatkan Kunci Akses dan Kunci Rahsia
2.

2 pelaksanaan fungsi:
1. Muat naik gambar ke Qiniu Cloud Storage:

(Sama seperti memuat naik gambar dalam pelaksanaan fungsi pengecaman muka)

2. Panggil API carian imej Qiniu Cloud Storage:

require_once('qiniu/autoload.php');

use QiniuAuth;
use QiniuStorageUploadManager;

$accessKey = '<your-access-key>';
$secretKey = '<your-secret-key>';
$bucket = '<your-bucket-name>';

$auth = new Auth($accessKey, $secretKey);

$token = $auth->uploadToken($bucket);

$uploadMgr = new UploadManager();

list($ret, $err) = $uploadMgr->putFile($token, 'uploadKey', 'localFilePath');

if ($err !== null) {
    exit('上传失败:' . $err);
}

3 .Analisis hasil carian imej:

$accessKeyId = '<your-access-key>';
$accessKeySecret = '<your-access-key-secret>';
$url = 'https://api.qiniu.com/face/detection/detect';

$body = array(
    'data' => array(
        'uri' => $ret['key'],
    ),
);

$content = json_encode($body);

$timestamp = time();

$signStr = $url . "
" . $content . "
" . $timestamp;

$sign = hash_hmac('sha1', $signStr, $accessKeySecret);

$header = array(
    'AccessKey: ' . $accessKeyId,
    'Content-Type: application/json',
    'Timestamp: ' . $timestamp,
    'Sign: ' . $sign,
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);

$response = curl_exec($ch);

if (curl_errno($ch) !== 0) {
    exit('请求失败:' . curl_error($ch));
}

curl_close($ch);

$result = json_decode($response, true);

if ($result['code'] !== 0) {
    exit('人脸识别失败:' . $result['message']);
}

Kesimpulan:
Dengan menggunakan antara muka storan awan PHP dan Qiniu, kami boleh melaksanakan pengecaman muka dan fungsi carian imej gambar dengan mudah. Melalui contoh kod di atas, kita boleh belajar cara memuat naik imej ke Storan Awan Qiniu dan melaksanakan pengecaman muka dan fungsi carian imej dengan memanggil API yang berkaitan. Saya harap artikel ini dapat membantu pembaca memahami dan menggunakan antara muka PHP dan Storan Awan Qiniu.

Atas ialah kandungan terperinci Kaedah untuk merealisasikan pengecaman muka dan carian imej 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