>백엔드 개발 >PHP 튜토리얼 >PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 사진의 객체 감지 및 지능적 분류를 구현하는 방법

PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 사진의 객체 감지 및 지능적 분류를 구현하는 방법

王林
王林원래의
2023-07-05 20:02:19920검색

PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 사진의 객체 감지 및 지능형 분류 구현

객체 감지 및 지능형 분류 등 사진에서 유용한 정보를 추출하는 것은 컴퓨터 비전 분야에서 중요한 작업입니다. 강력한 스토리지 및 컴퓨팅 기능을 갖춘 클라우드 서비스 제공업체인 Qiniu Cloud Storage는 개발자에게 이러한 작업을 달성할 수 있는 편리한 인터페이스를 제공합니다. 이 기사에서는 PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 객체 감지 및 사진의 지능형 분류를 구현하는 방법을 소개합니다.

먼저 Qiniu Cloud Storage 계정을 생성하고 액세스 키(액세스 키 및 비밀 키)를 얻어야 합니다. 이 키는 인증 및 액세스 제어에 사용됩니다.

다음으로 Qiniu 클라우드 스토리지 인터페이스와 대화형 기능을 제공하는 PHP SDK를 설치해야 합니다. Qiniu Cloud 공식 웹사이트에서 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 Cloud Storage의 인터페이스를 사용할 수 있습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.