次の方法で共有


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

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

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

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

ヒント

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

ヒント

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

前提条件

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

環境変数を作成する

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

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

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

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

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を読み込む再起動が必要となる場合があります。

画像を分析する

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

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

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

    新しいプロジェクトを作成した後、ソリューション エクスプローラーでプロジェクト ソリューションを右クリックして [NuGet パッケージの管理] を選び、クライアント ライブラリをインストールします。 パッケージ マネージャーが開いたら、[参照] を選択し、[プレリリースを含める] をオンにして、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 Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、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

リソースをクリーンアップする

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

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

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

ヒント

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

ヒント

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

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

前提条件

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

環境変数を作成する

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

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

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

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

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「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 AI Vision quickstart.

リソースをクリーンアップする

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

次のステップ

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

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

ヒント

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

ヒント

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

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

前提条件

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

環境変数を作成する

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

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

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

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

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を読み込む再起動が必要となる場合があります。

画像を分析する

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

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

    mkdir myapp && cd myapp
    

    作業ディレクトリから gradle init コマンドを実行します。 このコマンドによって、Gradle 用の重要なビルド ファイルが作成されます。たとえば、実行時にアプリケーションを作成して構成するために使用される build.gradle.kts などです。

    gradle init --type basic
    

    DSL を選択するよう求められたら、Kotlin を選択します。

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

    このクイックスタートでは、Gradle 依存関係マネージャーを使用します。 クライアント ライブラリとその他の依存関係マネージャーの情報については、Maven Central Repository を参照してください。

    build.gradle.kts を検索し、任意の IDE またはテキスト エディターで開きます。 次に、次のビルド構成をコピーしてファイルに貼り付けます。 この構成では、エントリ ポイントが ImageAnalysisQuickstart クラスである Java アプリケーションとしてプロジェクトを定義します。 これによって、Azure AI 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 AI 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

リソースをクリーンアップする

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

次のステップ

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

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

ヒント

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

ヒント

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

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

前提条件

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

環境変数を作成する

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

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

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

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

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「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
    

    また、async モジュールもインストールします。

    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.

リソースをクリーンアップする

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

次のステップ

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

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

ヒント

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

Note

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

前提条件

  • Azure サブスクリプション。 無料で作成できます
  • Azure サブスクリプションを入手したら、Azure portal で Computer Vision リソースを作成し、キーとエンドポイントを取得します。 デプロイされたら、 [リソースに移動] を選択します。
    • 対象のアプリケーションを Azure AI 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 に置き換えます。

      Note

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

    3. 必要に応じて、要求本文の画像 URL (`https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Atomist_quote_from_Democritus.png/338px-Atomist_quote_from_Democritus.png\`) を、分析する別の画像の 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 を使用して基本的な画像分析呼び出しを行う方法について学習しました。 次は、Analyze Image API の機能の詳細について説明します。