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

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

WBOY
WBOY원래의
2023-07-05 11:33:11708검색

PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 이미지의 지능형 인식 및 레이블 분류를 구현하는 방법

최근 인공 지능 기술의 급속한 발전으로 이미지 인식 분야도 상당한 발전을 이루었습니다. 기계 학습과 딥 러닝 알고리즘을 사용하면 컴퓨터가 이미지 내용을 지능적으로 이해하고 분석하여 이미지의 지능적인 인식과 라벨 분류를 달성할 수 있습니다. 이 기사에서는 PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 이 기능을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.

먼저 Qiniu Cloud Storage(https://www.qiniu.com/)에 계정을 생성하고 해당 계정의 AccessKey와 SecretKey를 얻어야 Qiniu Cloud Storage의 API에 액세스할 수 있습니다.

다음으로 Qiniu Cloud Storage에서 제공하는 SDK를 사용하여 이미지를 작동해야 합니다. PHP에서는 공식적으로 제공되는 Qiniu Cloud Storage SDK(https://developer.qiniu.com/sdk/php)를 사용하여 Qiniu Cloud Storage와 상호 작용할 수 있습니다.

다음은 PHP 및 Qiniu Cloud Storage 인터페이스를 사용하여 이미지를 업로드하고 Qiniu Cloud Storage의 이미지 인식 API를 호출하여 이미지의 태그 분류를 얻는 방법을 보여주는 간단한 코드 예입니다.

<?php

require 'autoload.php'; // 导入七牛云存储的PHP SDK

use QiniuStorageUploadManager;
use QiniuAuth;

// 需要填写七牛云存储的AccessKey和SecretKey
$accessKey = 'your-access-key';
$secretKey = 'your-secret-key';

// 初始化Auth对象
$auth = new Auth($accessKey, $secretKey);

// 需要上传的图片文件路径
$filePath = './path/to/your/image.jpg';

// 生成上传Token
$token = $auth->uploadToken('your-bucket-name');

// 初始化UploadManager对象
$uploadMgr = new UploadManager();

// 上传图片到七牛云存储
list($ret, $err) = $uploadMgr->putFile($token, null, $filePath);

if ($err !== null) {
    // 上传图片失败
    echo 'Upload failed:', $err->message();
} else {
    // 上传图片成功
    $imageKey = $ret['key'];
    
    // 调用七牛云存储的图像识别API,获取图片的标签分类
    $url = 'http://ai.qiniuapi.com/v1/ai/predict';
    $data = ['url' => 'your-image-url', 'model' => 'img_tag'];

    $headers = [
        'Content-Type:application/json',
        'Authorization:Qiniu ' . $auth->signRequest($url, null, 'POST', $headers, json_encode($data))
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

    $response = curl_exec($ch);
    curl_close($ch);

    // 解析返回的结果
    $result = json_decode($response, true);

    // 获取图片的标签分类
    $labels = isset($result['result']) ? $result['result'] : [];

    // 输出图片的标签分类
    echo 'Image labels:', implode(', ', $labels);
}

위 코드에서, 먼저 AccessKey 및 SecretKey를 사용하여 인증 개체를 초기화한 다음 업로드 토큰을 생성합니다. 그런 다음 UploadManager 개체의 putFile 메서드를 호출하여 이미지 파일을 Qiniu Cloud Storage에 업로드하고 업로드 결과를 가져옵니다.

다음으로 HTTP 요청을 구성하고 Qiniu Cloud Storage의 이미지 인식 API를 호출합니다. API는 이미지 URL과 모델명을 매개변수로 받아들이고 이미지의 라벨 분류 결과를 반환합니다. 우리는 컬 라이브러리를 사용하여 HTTP 요청을 보냅니다. 주목해야 할 점은 요청 헤더가 AccessKey 및 SecretKey를 기반으로 서명되어야 한다는 것입니다.

마지막으로 API의 반환 결과를 구문 분석하여 이미지의 라벨 분류를 얻어 결과를 출력합니다.

위의 코드 예를 통해 PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 이미지의 지능형 인식 및 레이블 분류를 구현하는 것이 복잡하지 않다는 것을 알 수 있습니다. Qiniu Cloud Storage에 이미지를 업로드한 후 Qiniu Cloud Storage의 이미지 인식 API를 호출하면 이미지의 라벨 분류 정보를 쉽게 얻을 수 있어 후속 이미지 처리 및 적용에 더 많은 가능성을 제공합니다.

위 내용은 PHP 및 Qiniu 클라우드 스토리지 인터페이스를 사용하여 사진의 지능형 인식 및 라벨 분류를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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