次の方法で共有


Image Analysis 3.2 API の呼び出し

この記事では、Image Analysis バージョン 3.2 API を呼び出して画像の視覚的特徴に関する情報を返す方法について説明します。 また、クライアント SDK または REST API を使用して、返された情報を解析する方法も示します。

このガイドでは、既に Vision リソースを作成し、キーとエンドポイント URL を取得していることを前提としています。 クライアント SDK を使用している場合は、クライアント オブジェクトを認証する必要もあります。 これらの手順の詳細については、画像分析のクイック スタートを参照してください。

サービスにデータを送信する

このガイドにあるコードでは、URL によって参照されるリモートの画像を使用します。 画像解析機能の全機能を確認するには、さまざまな画像を自分で試してみることをお勧めします。

リモートの画像を分析する場合、要求本文を {"url":"http://example.com/images/test.jpg"} のような形式にして、画像の URL を指定します。

ローカルの画像を分析するには、バイナリ画像データを HTTP 要求本文に配置します。

データの処理方法を決定する

視覚的特徴を選択する

Analyze API を使用すると、サービスの画像分析の特徴すべてにアクセスできます。 独自のユース ケースに基づいて、行う操作を選択します。 各機能の説明については、Azure AI Vision の概要に関する記事を参照してください。 次のセクションの例では、使用可能なすべての視覚的特徴を追加していますが、実際に使用するために必要なものは 1 つか 2 つのみです。

Analyze API の URL クエリ パラメーターを設定して、使用する特徴を指定できます。 パラメーターには、複数の値をコンマで区切って指定できます。 特徴を指定するごとに、より多くの処理時間が必要になるため、必要なものだけを指定してください。

URL パラメーター 説明
features Read 画像の中に表示されるテキストを読み取り、構造化された JSON データとして出力します
features Description サポートされる言語の完全な文章を使用して画像のコンテンツを説明します
features SmartCrops 関心領域を維持しながら目的の縦横比に画像を切り取るための四角形の座標を検出します
features Objects おおよその場所など、画像内のさまざまなオブジェクトを検出します。 Objects 引数は、英語でのみ使用できます
features Tags 画像のコンテンツに関連した単語の詳細な一覧を使用して画像にタグを付けます

値が指定された URL は、このようになります。

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags

言語を指定する

返されるデータの言語を指定することもできます。

次の URL クエリ パラメーターで言語を指定します。 既定値は en です。

URL パラメーター 説明
language en 英語
language es スペイン語
language ja 日本語
language pt ポルトガル語
language zh 簡体中国語

値が指定された URL は、このようになります。

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags&language=en

サービスから結果を取得する

このセクションでは、API 呼び出しの結果を解析する方法について説明します。 これには、API 呼び出し自体が含まれます。

スコープが指定された API 呼び出し

画像分析における特徴の一部は、直接、または Analyze API 呼び出しを使用して呼び出すことができます。 たとえば、<endpoint>/vision/v3.2/tag に (または SDK の対応するメソッドに) 要求を行うことで、画像タグのみのスコープ分析を行うことができます。 個別に呼び出すことができる他の特徴については、リファレンス ドキュメントを参照してください。

サービスから 200 HTTP 応答が返され、その本文には、返されたデータが JSON 文字列の形式で含まれています。 次のテキストは、JSON 応答の例です。

{
    "metadata":
    {
        "width": 300,
        "height": 200
    },
    "tagsResult":
    {
        "values":
        [
            {
                "name": "grass",
                "confidence": 0.9960499405860901
            },
            {
                "name": "outdoor",
                "confidence": 0.9956876635551453
            },
            {
                "name": "building",
                "confidence": 0.9893627166748047
            },
            {
                "name": "property",
                "confidence": 0.9853052496910095
            },
            {
                "name": "plant",
                "confidence": 0.9791355729103088
            }
        ]
    }
}

エラー コード

考えられるエラーとその原因を次の一覧に示します。

  • 400
    • InvalidImageUrl - イメージの URL の形式が不適切か、アクセスできません
    • InvalidImageFormat - 入力データが有効な画像ではありません
    • InvalidImageSize - 入力イメージが大きすぎます
    • NotSupportedVisualFeature - 指定された特徴の種類が有効ではありません
    • NotSupportedImage - サポートされていないイメージ、たとえば、子供のポルノ イメージです
    • InvalidDetails - サポートされていない detail パラメーター値
    • NotSupportedLanguage - 要求された操作が指定された言語でサポートされていません
    • BadArgument - 追加の詳細情報がエラー メッセージに記載されています
  • 415 - サポートされていないメディアの種類エラー。 Content-Type が使用できる種類に含まれていません。
    • 画像の URL の場合、Content-Type は application/json である必要があります。
    • バイナリ画像データの場合、Content-Type は application/octet-stream または multipart/form-data である必要があります。
  • 500
    • FailedToProcess
    • Timeout - 画像処理がタイムアウトしました
    • InternalServerError

ヒント

Azure AI Vision の操作中に、このサービスによって適用されたレート制限によって一時的な障害が発生したり、ネットワークの停止など、他の一時的な問題が発生したりする可能性があります。 これらの種類の障害の処理については、クラウド設計パターン ガイドの「再試行パターン」および「サーキット ブレーカー パターン」を参照してください。