クイック スタート: 画像分析

注意

Foundry Tools の Azure Vision の Image Analysis 4.0 サービスは非推奨となり、2028 年 9 月 25 日に廃止され、その後サービスへの呼び出しは失敗します。 移行ガイドで説明されている使用可能な代替手段のいずれかに切り替えるのをお勧めします。

この記事では、Image Analysis REST API またはクライアント ライブラリを使用して、基本的な画像タグ付けスクリプトを設定する方法について説明します。 画像の分析サービスでは、画像を処理し、その視覚的特徴に関する情報を返す AI アルゴリズムが提供されます。 次の手順に従って、アプリケーションにパッケージをインストールし、サンプル コードを試してください。

C# 用の Image Analysis クライアント ライブラリを使用して、コンテンツ タグの画像を分析します。 このクイック スタートでは、クライアント オブジェクトを使用してリモートイメージを分析し、結果を出力するメソッド AnalyzeImageUrlを定義します。

リファレンスのドキュメント | ライブラリのソース コード | パッケージ (NuGet) | サンプル

ヒント

ローカル画像を分析することもできます。 AnalyzeImageInStreamAsync などの ComputerVisionClient メソッドを参照してください。 または、ローカル イメージを含むシナリオについては、GitHub のサンプル コードを参照してください。

ヒント

Analyze Image API では、画像タグの生成以外にさまざまな操作を実行できます。 使用可能なすべての機能を紹介する例については、 画像分析のハウツー ガイド を参照してください。

前提 条件

  • Azure サブスクリプション。 無料で 作成できます。
  • Visual Studio IDE または現在のバージョンの .NET Core
  • Azure サブスクリプションを取得したら、Azure ポータルで Computer Vision リソースを作成して、キーとエンドポイントを取得します。 デプロイが完了したら、[ リソースに移動] を選択します。
    • Foundry Tools でアプリケーションを Azure Vision に接続するには、作成するリソースのキーとエンドポイントが必要です。
    • Free 価格レベル (F0) を使用してサービスを試し、後で運用環境用の有料レベルにアップグレードできます。

環境変数を作成する

この例では、アプリケーションを実行するローカル コンピューター上の環境変数に資格情報を書き込みます。

Azure ポータルに移動します。 [前提条件] セクションで作成したリソースが正常にデプロイされた場合は、[次の手順] で [リソースに移動] を選択します。 キーとエンドポイントは、Face リソースの [キーとエンドポイント] ページの [リソース管理] にあります。 リソース キーが、Azure サブスクリプション ID と同じではありません。

キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • VISION_KEY環境変数を設定するには、<your_key>をリソースのキーのいずれかに置き換えます。
  • VISION_ENDPOINT環境変数を設定するには、<your_endpoint>をリソースのエンドポイントに置き換えます。

重要

クラウドで実行されるアプリケーションに資格情報を格納しないように、 Azure リソースの管理された ID を使用して認証をMicrosoft Entra IDすることをお勧めします。

API キーは慎重に使用してください。 API キーをコードに直接含めず、パブリックに投稿しないでください。 API キーを使用する場合は、Azure Key Vaultに安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用してAzure Key Vaultへのアクセスを制限します。 アプリで API キーを安全に使用する方法の詳細については、「Azure Key Vault を使用した API キー」を参照してください。

AI サービスのセキュリティの詳細については、「Authenticate requests to Azure AI サービス」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

環境変数を追加した後、コンソール ウィンドウを含む環境変数を読み取る実行中のプログラムを再起動することが必要になる場合があります。

画像の分析

  1. 新しい C# アプリケーションを作成します。

    Visual Studioを使用して、新しい .NET Core アプリケーションを作成します。

    クライアント ライブラリをインストールする

    新しいプロジェクトを作成した後、ソリューション エクスプローラーManage NuGet パッケージを選択して、クライアント ライブラリをインストールします。 開いたパッケージ マネージャーで Browse を選択し、プレリリースを含むチェック ボックスをオンにして、Microsoft.Azure.CognitiveServices.Vision.ComputerVision を検索します。 バージョン 7.0.0を選択し、[ インストール] を選択します。

  2. プロジェクト ディレクトリから、任意のエディターまたは IDE で Program.cs ファイルを開きます。 次のコードを貼り付けます。

    using System;
    using System.Collections.Generic;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
    using System.Threading.Tasks;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.Threading;
    using System.Linq;
    
    namespace ComputerVisionQuickstart
    {
        class Program
        {
            // Add your Computer Vision key and endpoint
            static string key = Environment.GetEnvironmentVariable("VISION_KEY");
            static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
    
            // URL image used for analyzing an image (image of puppy)
            private const string ANALYZE_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                // Create a client
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Analyze an image to get features and other properties.
                AnalyzeImageUrl(client, ANALYZE_URL_IMAGE).Wait();
            }
    
            /*
             * AUTHENTICATE
             * Creates a Computer Vision client used by each example.
             */
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
           
            public static async Task AnalyzeImageUrl(ComputerVisionClient client, string imageUrl)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("ANALYZE IMAGE - URL");
                Console.WriteLine();
    
                // Creating a list that defines the features to be extracted from the image. 
    
                List<VisualFeatureTypes?> features = new List<VisualFeatureTypes?>()
                {
                    VisualFeatureTypes.Tags
                };
    
                Console.WriteLine($"Analyzing the image {Path.GetFileName(imageUrl)}...");
                Console.WriteLine();
                // Analyze the URL image 
                ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, visualFeatures: features);
    
                // Image tags and their confidence score
                Console.WriteLine("Tags:");
                foreach (var tag in results.Tags)
                {
                    Console.WriteLine($"{tag.Name} {tag.Confidence}");
                }
                Console.WriteLine();
            }
        }
    }
    

    重要

    クラウドで実行されるアプリケーションに資格情報を格納しないように、 Azure リソースの管理された ID を使用して認証をMicrosoft Entra IDすることをお勧めします。

    API キーは慎重に使用してください。 API キーをコードに直接含めず、パブリックに投稿しないでください。 API キーを使用する場合は、Azure Key Vaultに安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用してAzure Key Vaultへのアクセスを制限します。 アプリで API キーを安全に使用する方法の詳細については、「Azure Key Vault を使用した API キー」を参照してください。

    AI サービスのセキュリティの詳細については、「Authenticate requests to Azure AI サービス」を参照してください。

  3. アプリケーションを実行する

    IDE ウィンドウの上部にある [デバッグ ] ボタンをクリックして、アプリケーションを実行します。


出力

操作の出力は次の例のようになります。

----------------------------------------------------------
ANALYZE IMAGE - URL

Analyzing the image sample16.png...

Tags:
grass 0.9957543611526489
dog 0.9939157962799072
mammal 0.9928356409072876
animal 0.9918001890182495
dog breed 0.9890419244766235
pet 0.974603533744812
outdoor 0.969241738319397
companion dog 0.906731367111206
small greek domestic dog 0.8965123891830444
golden retriever 0.8877675533294678
labrador retriever 0.8746421337127686
puppy 0.872604250907898
ancient dog breeds 0.8508287668228149
field 0.8017748594284058
retriever 0.6837497353553772
brown 0.6581960916519165

リソースのクリーンアップ

Foundry Tools サブスクリプションをクリーンアップして削除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

このクイック スタートでは、Image Analysis クライアント ライブラリをインストールし、基本的な画像分析呼び出しを行う方法について説明しました。 次に、Image Analysis API の機能の詳細を確認します。

Python用の Image Analysis クライアント ライブラリを使用して、コンテンツ タグのリモート画像を分析します。

ヒント

ローカル画像を分析することもできます。 など、analyze_image_in_stream メソッドを参照してください。 または、ローカル イメージを含むシナリオについては、GitHub の サンプル コードを参照してください。

ヒント

Analyze Image API では、画像タグの生成以外にさまざまな操作を実行できます。 使用可能なすべての機能を紹介する例については、 画像分析のハウツー ガイド を参照してください。

リファレンス ドキュメント | ライブラリのソース コード | パッケージ (PiPy) | サンプル

前提 条件

  • Azure サブスクリプション。 無料で 作成できます。
  • Python 3.x
    • Pythonインストールには、pipが含まれている必要があります。 コマンド ラインで pip --version を実行することで、pip がインストールされているかどうかを確認できます。 最新バージョンのPythonをインストールして pip を取得します。
  • Azure サブスクリプションを取得したら、Azure ポータルで Computer Vision リソースを作成して、キーとエンドポイントを取得します。 デプロイが完了したら、[ リソースに移動] を選択します。
    • Foundry Tools でアプリケーションを Azure Vision に接続するには、作成するリソースのキーとエンドポイントが必要です。
    • Free 価格レベル (F0) を使用してサービスを試し、後で運用環境用の有料レベルにアップグレードできます。

環境変数を作成する

この例では、アプリケーションを実行するローカル コンピューター上の環境変数に資格情報を書き込みます。

Azure ポータルに移動します。 [前提条件] セクションで作成したリソースが正常にデプロイされた場合は、[次の手順] で [リソースに移動] を選択します。 キーとエンドポイントは、Face リソースの [キーとエンドポイント] ページの [リソース管理] にあります。 リソース キーが、Azure サブスクリプション ID と同じではありません。

キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • VISION_KEY環境変数を設定するには、<your_key>をリソースのキーのいずれかに置き換えます。
  • VISION_ENDPOINT環境変数を設定するには、<your_endpoint>をリソースのエンドポイントに置き換えます。

重要

クラウドで実行されるアプリケーションに資格情報を格納しないように、 Azure リソースの管理された ID を使用して認証をMicrosoft Entra IDすることをお勧めします。

API キーは慎重に使用してください。 API キーをコードに直接含めず、パブリックに投稿しないでください。 API キーを使用する場合は、Azure Key Vaultに安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用してAzure Key Vaultへのアクセスを制限します。 アプリで API キーを安全に使用する方法の詳細については、「Azure Key Vault を使用した API キー」を参照してください。

AI サービスのセキュリティの詳細については、「Authenticate requests to Azure AI サービス」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

環境変数を追加した後、コンソール ウィンドウを含む環境変数を読み取る実行中のプログラムを再起動することが必要になる場合があります。

画像の分析

  1. クライアント ライブラリをインストールします。

    クライアント ライブラリは、次の方法でインストールできます。

    pip install --upgrade azure-cognitiveservices-vision-computervision
    

    また、Pillow ライブラリをインストールします。

    pip install pillow
    
  2. 新しいPython アプリケーションを作成します。

    新しいPython ファイルを作成します。 たとえば、 quickstart-file.py に名前を付けることができます。

  3. テキスト エディターまたは IDE で quickstart-file.py を開き、次のコードを貼り付けます。

    from azure.cognitiveservices.vision.computervision import ComputerVisionClient
    from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes
    from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes
    from msrest.authentication import CognitiveServicesCredentials
    
    from array import array
    import os
    from PIL import Image
    import sys
    import time
    
    '''
    Authenticate
    Authenticates your credentials and creates a client.
    '''
    subscription_key = os.environ["VISION_KEY"]
    endpoint = os.environ["VISION_ENDPOINT"]
    
    computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
    '''
    END - Authenticate
    '''
    
    '''
    Quickstart variables
    These variables are shared by several examples
    '''
    # Images used for the examples: Describe an image, Categorize an image, Tag an image, 
    # Detect faces, Detect adult or racy content, Detect the color scheme, 
    # Detect domain-specific content, Detect image types, Detect objects
    images_folder = os.path.join (os.path.dirname(os.path.abspath(__file__)), "images")
    remote_image_url = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg"
    '''
    END - Quickstart variables
    '''
    
    
    '''
    Tag an Image - remote
    This example returns a tag (key word) for each thing in the image.
    '''
    print("===== Tag an image - remote =====")
    # Call API with remote image
    tags_result_remote = computervision_client.tag_image(remote_image_url )
    
    # Print results with confidence score
    print("Tags in the remote image: ")
    if (len(tags_result_remote.tags) == 0):
        print("No tags detected.")
    else:
        for tag in tags_result_remote.tags:
            print("'{}' with confidence {:.2f}%".format(tag.name, tag.confidence * 100))
    print()
    '''
    END - Tag an Image - remote
    '''
    print("End of Computer Vision quickstart.")
    
  4. クイック スタート ファイルの python コマンドを使用して、アプリケーションを実行します。

    python quickstart-file.py
    

出力

操作の出力は次の例のようになります。

===== Tag an image - remote =====
Tags in the remote image:
'outdoor' with confidence 99.00%
'building' with confidence 98.81%
'sky' with confidence 98.21%
'stadium' with confidence 98.17%
'ancient rome' with confidence 96.16%
'ruins' with confidence 95.04%
'amphitheatre' with confidence 93.99%
'ancient roman architecture' with confidence 92.65%
'historic site' with confidence 89.55%
'ancient history' with confidence 89.54%
'history' with confidence 86.72%
'archaeological site' with confidence 84.41%
'travel' with confidence 65.85%
'large' with confidence 61.02%
'city' with confidence 56.57%

End of Azure Vision quickstart.

リソースのクリーンアップ

Foundry Tools サブスクリプションをクリーンアップして削除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次の手順

このクイック スタートでは、Image Analysis クライアント ライブラリをインストールし、基本的な画像分析呼び出しを行う方法について説明しました。 次に、画像分析 API 機能の詳細を確認します。

Java用の画像分析クライアント ライブラリを使用して、タグ、テキストの説明、顔、成人向けコンテンツなどのリモート画像を分析します。

ヒント

ローカル画像を分析することもできます。 など、AnalyzeImage メソッドを参照してください。 または、ローカル イメージを含むシナリオについては、GitHub の サンプル コードを参照してください。

ヒント

Analyze Image API では、画像タグの生成以外にさまざまな操作を実行できます。 使用可能なすべての機能を紹介する例については、 画像分析のハウツー ガイド を参照してください。

リファレンス ドキュメント | ライブラリのソース コード |Artifact (Maven) | サンプル

前提 条件

  • Azure サブスクリプション。 無料で 作成できます。
  • Java Development Kit (JDK) の現在のバージョン。
  • Gradle ビルド ツール、または別の依存関係マネージャー。
  • Azure サブスクリプションを取得したら、Azure ポータルで Computer Vision リソースを作成して、キーとエンドポイントを取得します。 デプロイが完了したら、[ リソースに移動] を選択します。
    • Foundry Tools の Azure Vision にアプリケーションを接続するには、作成するリソースのキーとエンドポイントが必要です。
    • Free 価格レベル (F0) を使用してサービスを試し、後で運用環境用の有料レベルにアップグレードできます。

環境変数を作成する

この例では、アプリケーションを実行するローカル コンピューター上の環境変数に資格情報を書き込みます。

Azure ポータルに移動します。 [前提条件] セクションで作成したリソースが正常にデプロイされた場合は、[次の手順] で [リソースに移動] を選択します。 キーとエンドポイントは、Face リソースの [キーとエンドポイント] ページの [リソース管理] にあります。 リソース キーが、Azure サブスクリプション ID と同じではありません。

キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • VISION_KEY環境変数を設定するには、<your_key>をリソースのキーのいずれかに置き換えます。
  • VISION_ENDPOINT環境変数を設定するには、<your_endpoint>をリソースのエンドポイントに置き換えます。

重要

クラウドで実行されるアプリケーションに資格情報を格納しないように、 Azure リソースの管理された ID を使用して認証をMicrosoft Entra IDすることをお勧めします。

API キーは慎重に使用してください。 API キーをコードに直接含めず、パブリックに投稿しないでください。 API キーを使用する場合は、Azure Key Vaultに安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用してAzure Key Vaultへのアクセスを制限します。 アプリで API キーを安全に使用する方法の詳細については、「Azure Key Vault を使用した API キー」を参照してください。

AI サービスのセキュリティの詳細については、「Authenticate requests to Azure AI サービス」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

環境変数を追加した後、コンソール ウィンドウを含む環境変数を読み取る実行中のプログラムを再起動することが必要になる場合があります。

画像の分析

  1. 新しい Gradle プロジェクトを作成します。

    コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用の新しいディレクトリを作成し、そこに移動します。

    mkdir myapp && cd myapp
    

    作業ディレクトリから gradle init コマンドを実行します。 このコマンドは、実行時にアプリケーションの作成と構成に使用される build.gradle.kts など、Gradle に不可欠なビルド ファイルを作成します。

    gradle init --type basic
    

    DSL の選択を求められたら、[Kotlin] を選択します。

  2. クライアント ライブラリをインストールします。

    このクイック スタートでは、Gradle 依存関係マネージャーを使用します。 Maven Central Repository では、クライアント ライブラリと他の依存関係マネージャーの情報を確認できます。

    build.gradle.kts を見つけて、任意の IDE またはテキスト エディターで開きます。 次に、次のビルド構成をコピーしてファイルに貼り付けます。 この構成では、エントリ ポイントがクラス ImageAnalysisQuickstart であるJava アプリケーションとしてプロジェクトを定義します。 Azure Vision ライブラリをインポートします。

    plugins {
        java
        application
    }
    application { 
        mainClass.set("ImageAnalysisQuickstart")
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.9-beta")
    }
    
  3. Java ファイルを作成します。

    作業ディレクトリから、次のコマンドを実行してプロジェクト ソース フォルダーを作成します。

    mkdir -p src/main/java
    

    新しいフォルダーに移動し、 ImageAnalysisQuickstart.javaという名前のファイルを作成します。

  4. 好みのエディターまたは IDE で ImageAnalysisQuickstart.java を開き、次のコードを貼り付けます。

    import com.microsoft.azure.cognitiveservices.vision.computervision.*;
    import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
    import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;
    
    import java.io.*;
    import java.nio.file.Files;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class ImageAnalysisQuickstart {
    
        // Use environment variables
        static String key = System.getenv("VISION_KEY");
        static String endpoint = System.getenv("VISION_ENDPOINT");
    
        public static void main(String[] args) {
            
            System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");
    
            // Create an authenticated Computer Vision client.
            ComputerVisionClient compVisClient = Authenticate(key, endpoint); 
    
            // Analyze local and remote images
            AnalyzeRemoteImage(compVisClient);
    
        }
    
        public static ComputerVisionClient Authenticate(String key, String endpoint){
            return ComputerVisionManager.authenticate(key).withEndpoint(endpoint);
        }
    
    
        public static void AnalyzeRemoteImage(ComputerVisionClient compVisClient) {
            /*
             * Analyze an image from a URL:
             *
             * Set a string variable equal to the path of a remote image.
             */
            String pathToRemoteImage = "https://github.com/Azure-Samples/cognitive-services-sample-data-files/raw/master/ComputerVision/Images/faces.jpg";
    
            // This list defines the features to be extracted from the image.
            List<VisualFeatureTypes> featuresToExtractFromRemoteImage = new ArrayList<>();
            featuresToExtractFromRemoteImage.add(VisualFeatureTypes.TAGS);
    
            System.out.println("\n\nAnalyzing an image from a URL ...");
    
            try {
                // Call the Computer Vision service and tell it to analyze the loaded image.
                ImageAnalysis analysis = compVisClient.computerVision().analyzeImage().withUrl(pathToRemoteImage)
                        .withVisualFeatures(featuresToExtractFromRemoteImage).execute();
    
    
                // Display image tags and confidence values.
                System.out.println("\nTags: ");
                for (ImageTag tag : analysis.tags()) {
                    System.out.printf("\'%s\' with confidence %f\n", tag.name(), tag.confidence());
                }
            }
    
            catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // END - Analyze an image from a URL.
    
    }
    
  5. プロジェクトのルート フォルダーに戻り、次の方法でアプリをビルドします。

    gradle build
    

    次のコマンドを使用して実行します。

    gradle run
    

出力

操作の出力は次の例のようになります。

Azure Vision - Java Quickstart Sample

Analyzing an image from a URL ...

Tags:
'person' with confidence 0.998895
'human face' with confidence 0.997437
'smile' with confidence 0.991973
'outdoor' with confidence 0.985962
'happy' with confidence 0.969785
'clothing' with confidence 0.961570
'friendship' with confidence 0.946441
'tree' with confidence 0.917331
'female person' with confidence 0.890976
'girl' with confidence 0.888741
'social group' with confidence 0.872044
'posing' with confidence 0.865493
'adolescent' with confidence 0.857371
'love' with confidence 0.852553
'laugh' with confidence 0.850097
'people' with confidence 0.849922
'lady' with confidence 0.844540
'woman' with confidence 0.818172
'group' with confidence 0.792975
'wedding' with confidence 0.615252
'dress' with confidence 0.517169

リソースのクリーンアップ

Foundry Tools サブスクリプションをクリーンアップして削除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次の手順

このクイック スタートでは、Image Analysis クライアント ライブラリをインストールし、基本的な画像分析呼び出しを行う方法について説明しました。 次に、画像分析 API 機能の詳細を確認します。

JavaScript 用の Image Analysis クライアント ライブラリを使用して、リモート画像のコンテンツ タグを分析します。

ヒント

ローカル画像を分析することもできます。 などの describeImageInStream メソッドを参照してください。 または、ローカル イメージを含むシナリオについては、GitHub の サンプル コードを参照してください。

ヒント

Analyze Image API では、画像タグの生成以外にさまざまな操作を実行できます。 使用可能なすべての機能を紹介する例については、 画像分析のハウツー ガイド を参照してください。

リファレンス ドキュメント | パッケージ (npm) | サンプル

前提 条件

  • Azure サブスクリプション。 無料で 作成できます。
  • Node.jsの現在のバージョン。
  • Azure サブスクリプションを取得したら、Azure ポータルで Computer Vision リソースを作成して、キーとエンドポイントを取得します。 デプロイが完了したら、[ リソースに移動] を選択します。
    • Foundry Tools でアプリケーションを Azure Vision に接続するには、作成するリソースのキーとエンドポイントが必要です。
    • Free 価格レベル (F0) を使用してサービスを試し、後で運用環境用の有料レベルにアップグレードできます。

環境変数を作成する

この例では、アプリケーションを実行するローカル コンピューター上の環境変数に資格情報を書き込みます。

Azure ポータルに移動します。 [前提条件] セクションで作成したリソースが正常にデプロイされた場合は、[次の手順] で [リソースに移動] を選択します。 キーとエンドポイントは、Face リソースの [キーとエンドポイント] ページの [リソース管理] にあります。 リソース キーが、Azure サブスクリプション ID と同じではありません。

キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • VISION_KEY環境変数を設定するには、<your_key>をリソースのキーのいずれかに置き換えます。
  • VISION_ENDPOINT環境変数を設定するには、<your_endpoint>をリソースのエンドポイントに置き換えます。

重要

クラウドで実行されるアプリケーションに資格情報を格納しないように、 Azure リソースの管理された ID を使用して認証をMicrosoft Entra IDすることをお勧めします。

API キーは慎重に使用してください。 API キーをコードに直接含めず、パブリックに投稿しないでください。 API キーを使用する場合は、Azure Key Vaultに安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用してAzure Key Vaultへのアクセスを制限します。 アプリで API キーを安全に使用する方法の詳細については、「Azure Key Vault を使用した API キー」を参照してください。

AI サービスのセキュリティの詳細については、「Authenticate requests to Azure AI サービス」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

環境変数を追加した後、コンソール ウィンドウを含む環境変数を読み取る実行中のプログラムを再起動することが必要になる場合があります。

画像の分析

  1. 新しい Node.js アプリケーションを作成する

    コンソール ウィンドウ (cmd、PowerShell、Bash など) で、アプリ用の新しいディレクトリを作成し、そこに移動します。

    mkdir myapp && cd myapp
    

    npm init コマンドを実行して、package.json ファイルを含むノード アプリケーションを作成します。

    npm init
    

    クライアント ライブラリをインストールする

    ms-rest-azure@azure/cognitiveservices-computervision npm パッケージをインストールします。

    npm install @azure/cognitiveservices-computervision
    

    非同期モジュールもインストールします。

    npm install async
    

    アプリの package.json ファイルが依存関係で更新されます。

    新しいファイルを作成 index.js

  2. テキスト エディターで index.js を開き、次のコードを貼り付けます。

    'use strict';
    
    const async = require('async');
    const fs = require('fs');
    const https = require('https');
    const path = require("path");
    const createReadStream = require('fs').createReadStream
    const sleep = require('util').promisify(setTimeout);
    const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient;
    const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials;
    
    /**
     * AUTHENTICATE
     * This single client is used for all examples.
     */
    const key = process.env.VISION_KEY;
    const endpoint = process.env.VISION_ENDPOINT;
    
    
    const computerVisionClient = new ComputerVisionClient(
      new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
    /**
     * END - Authenticate
     */
    
    
    function computerVision() {
      async.series([
        async function () {
    
          /**
           * DETECT TAGS  
           * Detects tags for an image, which returns:
           *     all objects in image and confidence score.
           */
          console.log('-------------------------------------------------');
          console.log('DETECT TAGS');
          console.log();
    
          // Image of different kind of dog.
          const tagsURL = 'https://github.com/Azure-Samples/cognitive-services-sample-data-files/blob/master/ComputerVision/Images/house.jpg';
    
          // Analyze URL image
          console.log('Analyzing tags in image...', tagsURL.split('/').pop());
          const tags = (await computerVisionClient.analyzeImage(tagsURL, { visualFeatures: ['Tags'] })).tags;
          console.log(`Tags: ${formatTags(tags)}`);
    
          // Format tags for display
          function formatTags(tags) {
            return tags.map(tag => (`${tag.name} (${tag.confidence.toFixed(2)})`)).join(', ');
          }
          /**
           * END - Detect Tags
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  3. クイック スタート ファイルで node コマンドを使用してアプリケーションを実行します。

    node index.js
    

出力

操作の出力は次の例のようになります。

-------------------------------------------------
DETECT TAGS

Analyzing tags in image... sample16.png
Tags: grass (1.00), dog (0.99), mammal (0.99), animal (0.99), dog breed (0.99), pet (0.97), outdoor (0.97), companion dog (0.91), small greek domestic dog (0.90), golden retriever (0.89), labrador retriever (0.87), puppy (0.87), ancient dog breeds (0.85), field (0.80), retriever (0.68), brown (0.66)

-------------------------------------------------
End of quickstart.

リソースのクリーンアップ

Foundry Tools サブスクリプションをクリーンアップして削除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次の手順

このクイック スタートでは、Image Analysis クライアント ライブラリをインストールし、基本的な画像分析呼び出しを行う方法について説明しました。 次に、画像分析 API 機能の詳細を確認します。

画像分析 REST API を使用して、タグの画像を分析します。

ヒント

Analyze Image API では、画像タグの生成以外にさまざまな操作を実行できます。 使用可能なすべての機能を紹介する例については、 画像分析のハウツー ガイド を参照してください。

メモ

このクイック スタートでは、cURL コマンドを使用して REST API を呼び出します。 また、プログラミング言語を使用して REST API を呼び出すこともできます。 C#PythonJavaJavaScript の例については、GitHubサンプルを参照してください。

前提 条件

  • Azure サブスクリプション。 無料で 作成できます。
  • Azure サブスクリプションを取得したら、Azure ポータルで Computer Vision リソースを作成して、キーとエンドポイントを取得します。 デプロイが完了したら、[ リソースに移動] を選択します。
    • Foundry Tools でアプリケーションを Azure Vision に接続するには、作成するリソースのキーとエンドポイントが必要です。
    • Free 価格レベル (F0) を使用してサービスを試し、後で運用環境用の有料レベルにアップグレードできます。
  • cURL がインストールされています。

画像を分析する

さまざまな視覚的特徴の画像を分析するには、次の手順を実行します。

  1. 次のコマンドをテキスト エディターにコピーします。

    curl.exe -H "Ocp-Apim-Subscription-Key: <yourKey>" -H "Content-Type: application/json" "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Tags" -d "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
    
  2. 必要に応じ、コマンドで次の変更を行います。

    1. <yourKey> の値を、Computer Vision リソースのキーに置き換えます。
    2. 要求 URL (westcentralus.api.cognitive.microsoft.com) の最初の部分を独自のエンドポイント URL に置き換えます。

      メモ

      2019 年 7 月 1 日以降に作成された新しいリソースでは、カスタム サブドメイン名が使用されます。 リージョン エンドポイントの詳細と完全な一覧については、「 Foundry Tools のカスタム サブドメイン名」を参照してください。

    3. 必要に応じて、要求本文 (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) の画像 URL を、分析する別の画像の URL に変更します。
  3. コマンド プロンプト ウィンドウを開きます。

  4. 編集した curl コマンドをテキスト エディターからコマンド プロンプト ウィンドウに貼り付け、コマンドを実行します。

応答を調べる

成功した応答は JSON 形式で返されます。 サンプル アプリケーションは、次の例のように、成功した応答を解析してコマンド プロンプト ウィンドウに表示します。

{
   "tags":[
      {
         "name":"text",
         "confidence":0.9992657899856567
      },
      {
         "name":"post-it note",
         "confidence":0.9879657626152039
      },
      {
         "name":"handwriting",
         "confidence":0.9730165004730225
      },
      {
         "name":"rectangle",
         "confidence":0.8658561706542969
      },
      {
         "name":"paper product",
         "confidence":0.8561884760856628
      },
      {
         "name":"purple",
         "confidence":0.5961999297142029
      }
   ],
   "requestId":"2788adfc-8cfb-43a5-8fd6-b3a9ced35db2",
   "metadata":{
      "height":945,
      "width":1000,
      "format":"Jpeg"
   },
   "modelVersion":"2021-05-01"
}

次の手順

このクイック スタートでは、REST API を使用して基本的な画像分析呼び出しを行う方法について説明しました。 次に、画像分析 API 機能の詳細を確認します。