すべてのプロダクト
Search
ドキュメントセンター

Intelligent Media Management:C++ SDK

最終更新日:Mar 21, 2025

Alibaba Cloud API デバッグツール OpenAPI エクスプローラー は、OpenAPI ドキュメント、API デバッグ、および SDK の例を提供し、API 開発を迅速に開始できるようにします。このトピックでは、C++ 用の Intelligent Media Management(IMM)SDK をインストールして使用する方法について説明します。

前提条件

  • AccessKey ペアが作成され、取得されています。詳細については、「AccessKey ペアを作成する」をご参照ください。

  • OSS が有効化され、バケットが作成され、オブジェクトがバケットにアップロードされています。詳細については、「オブジェクトをアップロードする」をご参照ください。

  • IMM が有効化されています。詳細については、「IMM を有効化する」をご参照ください。

  • IMM コンソールでプロジェクトが作成されています。詳細については、「プロジェクトを作成する」をご参照ください。

    説明
    • CreateProject オペレーションを呼び出して、プロジェクトを作成できます。詳細については、「CreateProject」をご参照ください。

    • ListProjects オペレーションを呼び出して、特定のリージョンにある既存のプロジェクトをクエリできます。詳細については、「ListProjects」をご参照ください。

SDK のインストール

重要

IMM API V2020-09-30 を使用するには、IMM SDK V2020-09-30 をインストールする必要があります。

C++ 用 IMM SDK の使用方法については、「クイックスタート」をご参照ください。

手順

次のサンプルコードは、C++ 用 IMM SDK を使用して、中国 (杭州) リージョンの画像内の顔と顔情報を検出する方法の例を示しています。

説明

次のサンプルコードを使用する場合は、ドメイン名を IMM プロジェクトが存在するリージョンのドメイン名に置き換えてください。 IMM プロジェクトと OSS オブジェクトが同じリージョンに存在することを確認してください。

#include <cstdlib>
#include <iostream>
#include <string>
#include <alibabacloud/core/AlibabaCloud.h>
#include <imm/ImmClient.h>

using namespace std;
using namespace AlibabaCloud;
using namespace AlibabaCloud::Imm;
    
int main( int argc, char** argv )
{
    AlibabaCloud::InitializeSdk();
    // プロジェクトが存在するリージョンの ID を指定します。
    AlibabaCloud::ClientConfiguration configuration( "cn-hangzhou" );
    // Alibaba Cloud アカウントの AccessKey ペアは、すべての API オペレーションに対する権限を持っています。 RAM ユーザーを使用して API オペレーションを呼び出したり、日常的な O&M を実行することをお勧めします。
    // AccessKey ID と AccessKey シークレットをプロジェクトコードに保存しないことをお勧めします。 そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースがリスクにさらされる可能性があります。
    // この例では、システムは環境変数から AccessKey ペアを読み取り、API アクセスのための認証を実装します。
    const char *AccessKeyId = std::getenv("AccessKeyId");
    const char *AccessKeySecret = std::getenv("AccessKeySecret");
    AlibabaCloud::Credentials credential( AccessKeyId, AccessKeySecret );

    ImmClient client( credential, configuration );

    Model::DetectImageFacesRequest request;
    // IMM プロジェクトの名前を指定します。
    request.setProjectName("immtest");
    // OSS イメージの URI を指定します。
    request.setSourceURI("oss://test-bucket/test-object.jpg");
    // リクエストを開始します。
    auto outcome = client.detectImageFaces( request );
    if ( !outcome.isSuccess() )
    {
        std::cout << outcome.error().errorCode() << std::endl;
        AlibabaCloud::ShutdownSdk();
        return(-1);
    }
    
    std::cout << "totalCount: " << outcome.result().getTotalCount() << std::endl;
    
    AlibabaCloud::ShutdownSdk();
    return 0;
}