サンプル:画像処理アプリの探索 (C#)Sample: Explore an image processing app with C#

Computer Vision を使用して、光学文字認識 (OCR) を実行し、スマートにトリミングされたサムネイルを作成するほか、画像内の視覚的な特徴 (顔など) を検出、分類、タグ付け、および記述する、基本的な Windows アプリケーションについて詳しく説明します。Explore a basic Windows application that uses Computer Vision to perform optical character recognition (OCR), create smart-cropped thumbnails, plus detect, categorize, tag and describe visual features, including faces, in an image. 下の例では、イメージ URL またはローカルに保存されたファイルを送信できます。The below example lets you submit an image URL or a locally stored file. このオープン ソースの例をテンプレートとして使用し、Computer Vision API と、.NET Framework の一部である Windows Presentation Foundation (WPF) を使用して、Windows 用の独自アプリをビルドできます。You can use this open source example as a template for building your own app for Windows using the Computer Vision API and Windows Presentation Foundation (WPF), a part of .NET Framework.

  • GitHub からサンプル アプリを取得するGet the sample app from GitHub
  • Visual Studio でサンプル アプリを開いてビルドするOpen and build the sample app in Visual Studio
  • サンプル アプリを実行し、対話してさまざまなシナリオを実行するRun the sample app and interact with it to perform various scenarios
  • サンプル アプリに含まれるさまざまなシナリオを調べるExplore the various scenarios included with the sample app

前提条件Prerequisites

サンプル アプリを調べる前に、次の前提条件を満たしていることを確認します。Before exploring the sample app, ensure that you've met the following prerequisites:

サンプル アプリを入手するGet the sample app

Computer Vision のサンプル アプリは、GitHub の Microsoft/Cognitive-Vision-Windows リポジトリから入手できます。The Computer Vision sample app is available on GitHub from the Microsoft/Cognitive-Vision-Windows repository. このリポジトリには、Git サブモジュールとして Microsoft/Cognitive-Common-Windows リポジトリも含まれています。This repository also includes the Microsoft/Cognitive-Common-Windows repository as a Git submodule. コマンド ラインから git clone --recurse-submodules コマンドを使用するか、または GitHub Desktop を使用し、サブモジュールも含めて、このリポジトリを再帰的に複製できます。You can recursively clone this repository, including the submodule, either by using the git clone --recurse-submodules command from the command line, or by using GitHub Desktop.

たとえば、Computer Vision サンプル アプリのリポジトリをコマンド プロンプトから再帰的に複製するには、次のコマンドを実行します。For example, to recursively clone the repository for the Computer Vision sample app from a command prompt, run the following command:

git clone --recurse-submodules https://github.com/Microsoft/Cognitive-Vision-Windows.git

重要

このリポジトリを ZIP ファイルとしてダウンロードしないでください。Do not download this repository as a ZIP. リポジトリを ZIP としてダウンロードすると、サブモジュールが含まれません。Git doesn't include submodules when downloading a repository as a ZIP.

オプションのサンプル画像を入手するGet optional sample images

必要に応じて、GitHub の Microsoft/Cognitive-Face-Windows リポジトリから入手できる Face サンプル アプリに含まれるサンプル画像を使用することができます。You can optionally use the sample images included with the Face sample app, available on GitHub from the Microsoft/Cognitive-Face-Windows repository. そのサンプル アプリの /Data フォルダーには、人の複数の画像が含まれます。That sample app includes a folder, /Data, which contains multiple images of people. このリポジトリも、Computer Vision サンプル アプリで説明した方法を使用して、再帰的に複製できます。You can recursively clone this repository, as well, by the methods described for the Computer Vision sample app.

たとえば、Face サンプル アプリのリポジトリをコマンド プロンプトから再帰的に複製するには、次のコマンドを実行します。For example, to recursively clone the repository for the Face sample app from a command prompt, run the following command:

git clone --recurse-submodules https://github.com/Microsoft/Cognitive-Face-Windows.git

Visual Studio でサンプル アプリを開いてビルドするOpen and build the sample app in Visual Studio

サンプル アプリを実行して調べるには、その前にまず、サンプル アプリをビルドして、Visual Studio が依存関係を解決できるようにする必要があります。You must build the sample app first, so that Visual Studio can resolve dependencies, before you can run or explore the sample app. サンプル アプリを開いてビルドするには、次の手順のようにします。To open and build the sample app, do the following steps:

  1. Visual Studio ソリューション ファイル /Sample-WPF/VisionAPI-WPF-Samples.sln を Visual Studio で開きます。Open the Visual Studio solution file, /Sample-WPF/VisionAPI-WPF-Samples.sln, in Visual Studio.

  2. Visual Studio ソリューションに 2 つのプロジェクトが含まれていることを確認します。Ensure that the Visual Studio solution contains two projects:

    • SampleUserControlLibrarySampleUserControlLibrary
    • VisionAPI-WPF-SamplesVisionAPI-WPF-Samples

    SampleUserControlLibrary プロジェクトを使用できない場合は、Microsoft/Cognitive-Vision-Windows リポジトリを再帰的に複製したことを確認します。If the SampleUserControlLibrary project is unavailable, confirm that you've recursively cloned the Microsoft/Cognitive-Vision-Windows repository.

  3. Visual Studio で、Ctrl + Shift + B キーを押すか、リボン メニューから [ビルド] を選択し、 [ソリューションのビルド] を選択して、ソリューションをビルドします。In Visual Studio, either press Ctrl+Shift+B or choose Build from the ribbon menu and then choose Build Solution to build the solution.

サンプル アプリを実行して操作するRun and interact with the sample app

サンプル アプリを実行し、サムネイルの生成や画像のタグ付けなどのさまざまなタスクを実行するときに、サンプル アプリがユーザーや Computer Vision クライアント ライブラリとどのように相互作用するかを確認できます。You can run the sample app, to see how it interacts with you and with the Computer Vision client library when performing various tasks, such as generating thumbnails or tagging images. サンプル アプリを実行して操作するには、次のようにします。To run and interact with the sample app, do the following steps:

  1. ビルドが完了した後、F5 キーを押すか、リボン メニューから [デバッグ] を選択し、 [デバッグの開始] を選択してサンプル アプリを実行します。After the build is complete, either press F5 or choose Debug from the ribbon menu and then choose Start debugging to run the sample app.

  2. サンプル アプリが表示されたら、ナビゲーション ウィンドウの [Subscription Key Management](サブスクリプション キーの管理) を選択して、[Subscription Key Management](サブスクリプション キーの管理) ページを表示します。When the sample app is displayed, choose Subscription Key Management from the navigation pane to display the Subscription Key Management page. [Subscription Key Management](サブスクリプション キーの管理) ページSubscription Key Management page

  3. [Subscription Key](サブスクリプション キー) にサブスクリプション キーを入力します。Enter your subscription key in Subscription Key.

  4. [エンドポイント] にエンドポイント URL を入力します。Enter the endpoint URL in Endpoint.
    たとえば、Computer Vision 無料試用版のサブスクリプション キーを使用している場合は、次のエンドポイント URL を入力します: https://westcentralus.api.cognitive.microsoft.comFor example, if you're using the subscription key from the Computer Vision free trial, enter the following endpoint URL: https://westcentralus.api.cognitive.microsoft.com

    注意

    2019 年 7 月 1 日より後に作成された新しいリソースには、カスタム サブドメイン名が使用されます。New resources created after July 1, 2019, will use custom subdomain names. リージョンのエンドポイントの詳細および全一覧については、「Cognitive Services のカスタム サブドメイン名」を参照してください。For more information and a complete list of regional endpoints, see Custom subdomain names for Cognitive Services.

  5. 次にサンプル アプリを実行したときにサブスクリプション キーとエンドポイント URL を入力したくない場合は、 [Save Setting](設定の保存) を選択して、サブスクリプション キーとエンドポイント URL をお使いのコンピューターに保存します。If you don't want to enter your subscription key and endpoint URL the next time you run the sample app, choose Save Setting to save the subscription key and endpoint URL to your computer. 以前に保存したサブスクリプション キーとエンドポイント URL を削除する場合は、 [Delete Setting](設定の削除) を選択します。If you want to delete your previously-saved subscription key and endpoint URL, choose Delete Setting.

    注意

    サンプル アプリは、分離ストレージと System.IO.IsolatedStorage を使用して、サブスクリプション キーとエンドポイント URL を格納します。The sample app uses isolated storage, and System.IO.IsolatedStorage, to store your subscription key and endpoint URL.

  6. ナビゲーション ウィンドウの [Select a scenario](シナリオの選択) で、サンプル アプリに現在含まれるシナリオのいずれかを選択します。Under Select a scenario in the navigation pane, select one of the scenarios currently included with the sample app:

    シナリオScenario 説明Description
    Analyze Image (画像を分析する)Analyze Image Analyze Image (画像の分析) 操作を使用して、ローカルまたはリモートの画像を分析します。Uses the Analyze Image operation to analyze a local or remote image. 分析のための視覚的な特徴と言語を選択して、画像と結果の両方を表示できます。You can choose the visual features and language for the analysis, and see both the image and the results.
    Analyze Image with Domain Model (ドメイン モデルで画像を分析する)Analyze Image with Domain Model List Domain Specific Models (ドメイン固有モデルの一覧表示) 操作を使用して選択できるドメイン モデルの一覧を表示し、Recognize Domain Specific Content (ドメイン固有コンテンツの認識) 操作を使用して、選択したドメイン モデルを使用してローカルまたはリモートの画像を分析します。Uses the List Domain Specific Models operation to list the domain models from which you can select, and the Recognize Domain Specific Content operation to analyze a local or remote image using the selected domain model. 分析用の言語を選択することもできます。You can also choose the language for the analysis.
    Describe Image (画像を説明する)Describe Image Describe Image (画像の説明) 操作を使用して、ローカルまたはリモートの画像の人が判読できる説明を作成します。Uses the Describe Image operation to create a human-readable description of a local or remote image. 説明用の言語を選択することもできます。You can also choose the language for the description.
    Generate Tags (タグを生成する)Generate Tags Tag Image (画像のタグ付け) 操作を使用して、ローカルまたはリモートの画像の視覚的な特徴にタグを付けます。Uses the Tag Image operation to tag the visual features of a local or remote image. タグに使用する言語を選択することもできます。You can also choose the language used for the tags.
    Recognize Text (OCR) (テキストを認識する (OCR))Recognize Text (OCR) OCR 操作を使用して、画像から印刷されたテキストを認識して抽出します。Uses the OCR operation to recognize and extract printed text from an image. 使用する言語を選択するか、Computer Vision に言語を自動検出させることができます。You can either choose the language to use, or let Computer Vision auto-detect the language.
    Recognize Text V2 (English) (テキストを認識する V2 (英語))Recognize Text V2 (English) Recognize Text (テキストの認識) 操作と Get Recognize Text Operation Result (テキストの認識操作の結果の取得) 操作を使用して、画像から印刷テキストまたは手書きテキストを非同期的に認識して抽出します。Uses the Recognize Text and Get Recognize Text Operation Result operations to asynchronously recognize and extract printed or handwritten text from an image.
    Get Thumbnail (サムネイルを取得する)Get Thumbnail Get Thumbnail (サムネイルの取得) 操作を使用して、ローカルまたはリモートの画像のサムネイルを生成します。Uses the Get Thumbnail operation to generate a thumbnail for a local or remote image.

    次のスクリーンショットは、Analyze Image (画像を分析する) シナリオでサンプル画像を分析した後に表示されるページです。The following screenshot illustrates the page provided for the Analyze Image scenario, after analyzing a sample image. [画像分析] ページのスクリーン ショットScreenshot of the Analyze image page

サンプル アプリを調べるExplore the sample app

Computer Vision サンプル アプリの Visual Studio ソリューションには、2 つのプロジェクトが含まれています。The Visual Studio solution for the Computer Vision sample app contains two projects:

  • SampleUserControlLibrarySampleUserControlLibrary
    SampleUserControlLibrary プロジェクトでは、複数の Cognitive Services サンプルによって共有される機能が提供されます。The SampleUserControlLibrary project provides functionality shared by multiple Cognitive Services samples. プロジェクトには次のものが含まれます。The project contains the following:
    • SampleScenariosSampleScenarios
      タイトル バー、ナビゲーション ウィンドウで、コンテンツ ウィンドウなど、サンプルに対して標準化されたプレゼンテーションを提供するユーザー コントロールです。A UserControl that provides a standardized presentation, such as the title bar, navigation pane, and content pane, for samples. Computer Vision のサンプル アプリは、MainWindow.xaml ウィンドウでこのコントロールを使用して、シナリオ ページを表示し、サブスクリプション キーやエンドポイント URL などのシナリオ間で共有される情報にアクセスします。The Computer Vision sample app uses this control in the MainWindow.xaml window to display scenario pages and access information shared across scenarios, such as the subscription key and endpoint URL.
    • SubscriptionKeyPageSubscriptionKeyPage
      サンプル アプリのサブスクリプション キーとエンドポイント URL を入力するための標準化されたレイアウトを提供するページです。A Page that provides a standardized layout for entering a subscription key and endpoint URL for the sample app. Computer Vision のサンプル アプリは、このページを使用して、シナリオのページで使用されるサブスクリプション キーとエンドポイント URL を管理します。The Computer Vision sample app uses this page to manage the subscription key and endpoint URL used by the scenario pages.
    • VideoResultControlVideoResultControl
      動画の情報に対する標準化されたプレゼンテーションを提供するユーザー コントロールです。A UserControl that provides a standardized presentation for video information. Computer Vision のサンプル アプリでは、このコントロールは使用されません。The Computer Vision sample app doesn't use this control.
  • VisionAPI-WPF-SamplesVisionAPI-WPF-Samples
    Computer Vision のサンプル アプリのメイン プロジェクトであり、Computer Vision の興味深い機能がすべて含まれます。The main project for the Computer Vision sample app, this project contains all of the interesting functionality for Computer Vision. プロジェクトには次のものが含まれます。The project contains the following:
    • AnalyzeInDomainPage.xamlAnalyzeInDomainPage.xaml
      Analyze Image with Domain Model (ドメイン モデルで画像を分析する) シナリオのシナリオ ページです。The scenario page for the Analyze Image with Domain Model scenario.
    • AnalyzeImage.xamlAnalyzeImage.xaml
      Analyze Image (画像を分析する) シナリオのシナリオ ページです。The scenario page for the Analyze Image scenario.
    • DescribePage.xamlDescribePage.xaml
      Describe Image (画像を説明する) シナリオのシナリオ ページです。The scenario page for the Describe Image scenario.
    • ImageScenarioPage.csImageScenarioPage.cs
      ImageScenarioPage クラスです。サンプル アプリのすべてのシナリオ ページはこのクラスから派生されます。The ImageScenarioPage class, from which all of the scenario pages in the sample app are derived. このクラスは、すべてのシナリオ ページで共有される、資格情報の提供や出力の書式設定などの機能を管理します。This class manages functionality, such as providing credentials and formatting output, shared by all of the scenario pages.
    • MainWindow.xamlMainWindow.xaml
      サンプル アプリのメイン ウィンドウです。SampleScenarios コントロールを使用して、SubscriptionKeyPage とシナリオ ページを提供します。The main window for the sample app, it uses the SampleScenarios control to present the SubscriptionKeyPage and scenario pages.
    • OCRPage.xamlOCRPage.xaml
      Recognize Text (OCR) (テキストを認識する (OCR)) シナリオのシナリオ ページです。The scenario page for the Recognize Text (OCR) scenario.
    • RecognizeLanguage.csRecognizeLanguage.cs
      RecognizeLanguage クラスです。サンプル アプリのさまざまなメソッドでサポートされる言語に関する情報を提供します。The RecognizeLanguage class, which provides information about the languages supported by the various methods in the sample app.
    • TagsPage.xamlTagsPage.xaml
      Generate Tags (タグを生成する) シナリオのシナリオ ページです。The scenario page for the Generate Tags scenario.
    • TextRecognitionPage.xamlTextRecognitionPage.xaml
      Recognize Text V2 (English) (テキストを認識する V2 (英語)) シナリオのシナリオ ページです。The scenario page for the Recognize Text V2 (English) scenario.
    • ThumbnailPage.xamlThumbnailPage.xaml
      Get Thumbnail (サムネイルを取得する) シナリオのシナリオ ページです。The scenario page for the Get Thumbnail scenario.

サンプル コードの検証Explore the sample code

サンプル アプリを調べやすいように、サンプル コードの主要な部分は、KEY SAMPLE CODE STARTS HERE で始まり KEY SAMPLE CODE ENDS HERE で終わるコメント ブロックで囲まれています。Key portions of sample code are framed with comment blocks that start with KEY SAMPLE CODE STARTS HERE and end with KEY SAMPLE CODE ENDS HERE, to make it easier for you to explore the sample app. サンプル コードのこれらの主要部分には、Computer Vision API クライアント ライブラリを使用してさまざまなタスクを実行する方法の学習に最も関係のあるコードが含まれます。These key portions of sample code contain the code most relevant to learning how to use the Computer Vision API client library to do various tasks. Visual Studio で KEY SAMPLE CODE STARTS HERE を検索することにより、Computer Vision サンプル アプリのコードの最も関連のあるセクション間を移動できます。You can search for KEY SAMPLE CODE STARTS HERE in Visual Studio to move between the most relevant sections of code in the Computer Vision sample app.

たとえば、以下で示されていて AnalyzePage.xaml に含まれる UploadAndAnalyzeImageAsync メソッドでは、クライアント ライブラリを使用し、ComputerVisionClient.AnalyzeImageInStreamAsync メソッドを呼び出すことによって、ローカル画像を分析する方法が示されています。For example, the UploadAndAnalyzeImageAsync method, shown following and included in AnalyzePage.xaml, demonstrates how to use the client library to analyze a local image by invoking the ComputerVisionClient.AnalyzeImageInStreamAsync method.

private async Task<ImageAnalysis> UploadAndAnalyzeImageAsync(string imageFilePath)
{
    // -----------------------------------------------------------------------
    // KEY SAMPLE CODE STARTS HERE
    // -----------------------------------------------------------------------

    //
    // Create Cognitive Services Vision API Service client.
    //
    using (var client = new ComputerVisionClient(Credentials) { Endpoint = Endpoint })
    {
        Log("ComputerVisionClient is created");

        using (Stream imageFileStream = File.OpenRead(imageFilePath))
        {
            //
            // Analyze the image for all visual features.
            //
            Log("Calling ComputerVisionClient.AnalyzeImageInStreamAsync()...");
            VisualFeatureTypes[] visualFeatures = GetSelectedVisualFeatures();
            string language = (_language.SelectedItem as RecognizeLanguage).ShortCode;
            ImageAnalysis analysisResult = await client.AnalyzeImageInStreamAsync(imageFileStream, visualFeatures, null, language);
            return analysisResult;
        }
    }

    // -----------------------------------------------------------------------
    // KEY SAMPLE CODE ENDS HERE
    // -----------------------------------------------------------------------
}

クライアント ライブラリを調べるExplore the client library

このサンプル アプリでは、Azure Cognitive Services の Computer Vision API 用の C# シン クライアント ラッパーである Computer Vision API クライアント ライブラリが使用されています。This sample app uses the Computer Vision API client library, a thin C# client wrapper for the Computer Vision API in Azure Cognitive Services. このクライアント ライブラリは、NuGet で Microsoft.Azure.CognitiveServices.Vision.ComputerVision パッケージから入手できます。The client library is available from NuGet in the Microsoft.Azure.CognitiveServices.Vision.ComputerVision package. Visual Studio アプリケーションをビルドするときは、その対応する NuGet パッケージからクライアント ライブラリを取得しました。When you built the Visual Studio application, you retrieved the client library from its corresponding NuGet package. Microsoft/Cognitive-Vision-Windows リポジトリの /ClientLibrary フォルダーで、クライアント ライブラリのソース コードを表示することもできます。You can also view the source code for the client library in the /ClientLibrary folder of the Microsoft/Cognitive-Vision-Windows repository.

クライアント ライブラリの機能の中心になるのは Microsoft.Azure.CognitiveServices.Vision.ComputerVision 名前空間内の ComputerVisionClient クラスですが、Computer Vision と対話するときに ComputerVisionClient クラスによって使用されるモデルは、Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models 名前空間内で見つかります。The client library's functionality centers around the ComputerVisionClient class, in the Microsoft.Azure.CognitiveServices.Vision.ComputerVision namespace, while the models used by the ComputerVisionClient class when interacting with Computer Vision are found in the Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models namespace. サンプル アプリに含まれるさまざまな XAML シナリオ ページでは、これらの名前空間に対して次の using ディレクティブが使われています。In the various XAML scenario pages included with the sample app, you'll find the following using directives for those namespaces:

// -----------------------------------------------------------------------
// KEY SAMPLE CODE STARTS HERE
// Use the following namespace for ComputerVisionClient.
// -----------------------------------------------------------------------
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
// -----------------------------------------------------------------------
// KEY SAMPLE CODE ENDS HERE
// -----------------------------------------------------------------------

Computer Vision のサンプル アプリに含まれるシナリオを調べると、ComputerVisionClient クラスに含まれているさまざまなメソッドのことをさらに詳しく学習できます。You'll learn more about the various methods included with the ComputerVisionClient class as you explore the scenarios included with the Computer Vision sample app.

Analyze Image (画像を分析する) シナリオを調べるExplore the Analyze Image scenario

このシナリオは、AnalyzePage.xaml ページによって管理されます。This scenario is managed by the AnalyzePage.xaml page. 分析のための視覚的な特徴と言語を選択して、画像と結果の両方を表示できます。You can choose the visual features and language for the analysis, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドのいずれかを使用してこれが行われます。The scenario page does this by using one of the following methods, depending on the source of the image:

  • UploadAndAnalyzeImageAsyncUploadAndAnalyzeImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.AnalyzeImageInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.AnalyzeImageInStreamAsync method.
  • AnalyzeUrlAsyncAnalyzeUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.AnalyzeImageAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.AnalyzeImageAsync method.

UploadAndAnalyzeImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndAnalyzeImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. アプリは、imageFilePath で指定されたローカル ファイルを Stream として読み取るために開いた後、シナリオ ページで選択された視覚的な特徴と言語を取得します。It opens the local file specified in imageFilePath for reading as a Stream, then gets the visual features and language selected in the scenario page. ComputerVisionClient.AnalyzeImageInStreamAsync メソッドを呼び出し、ファイル、視覚的な特徴、言語に対する Stream を渡した後、結果を ImageAnalysis インスタンスとして返します。It calls the ComputerVisionClient.AnalyzeImageInStreamAsync method, passing the Stream for the file, the visual features, and the language, then returns the result as an ImageAnalysis instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

AnalyzeUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The AnalyzeUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. シナリオ ページで選択された視覚的な特徴と言語を取得します。It gets the visual features and language selected in the scenario page. ComputerVisionClient.AnalyzeImageInStreamAsync メソッドを呼び出し、画像の URL、視覚的な特徴、言語を渡した後、結果を ImageAnalysis インスタンスとして返します。It calls the ComputerVisionClient.AnalyzeImageInStreamAsync method, passing the image URL, the visual features, and the language, then returns the result as an ImageAnalysis instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

Analyze Image with Domain Model (ドメイン モデルで画像を分析する) シナリオを調べるExplore the Analyze Image with Domain Model scenario

このシナリオは、AnalyzeInDomainPage.xaml ページによって管理されます。This scenario is managed by the AnalyzeInDomainPage.xaml page. celebritieslandmarks などのドメイン モデルと、画像のドメイン固有の分析を実行するための言語を選択することができ、画像と結果の両方が表示されます。You can choose a domain model, such as celebrities or landmarks, and language to perform a domain-specific analysis of the image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • GetAvailableDomainModelsAsyncGetAvailableDomainModelsAsync
    このメソッドは、Computer Vision から利用可能なドメイン モデルの一覧を取得し、ComputerVisionClient.ListModelsAsync メソッドを使用してページの _domainModelComboBox コンボ ボックス コントロールを設定します。This method gets the list of available domain models from Computer Vision and populates the _domainModelComboBox ComboBox control on the page, using the ComputerVisionClient.ListModelsAsync method.
  • UploadAndAnalyzeInDomainImageAsyncUploadAndAnalyzeInDomainImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.AnalyzeImageByDomainInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.AnalyzeImageByDomainInStreamAsync method.
  • AnalyzeInDomainUrlAsyncAnalyzeInDomainUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.AnalyzeImageByDomainAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.AnalyzeImageByDomainAsync method.

UploadAndAnalyzeInDomainImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndAnalyzeInDomainImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. アプリは、imageFilePath で指定されたローカル ファイルを Stream として読み取るために開いた後、シナリオ ページで選択された言語を取得します。It opens the local file specified in imageFilePath for reading as a Stream, then gets the language selected in the scenario page. ComputerVisionClient.AnalyzeImageByDomainInStreamAsync メソッドを呼び出し、ファイル、ドメイン モデルの名前、言語に対する Stream を渡した後、結果を DomainModelResults インスタンスとして返します。It calls the ComputerVisionClient.AnalyzeImageByDomainInStreamAsync method, passing the Stream for the file, the name of the domain model, and the language, then returns the result as an DomainModelResults instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

AnalyzeInDomainUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The AnalyzeInDomainUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. シナリオ ページで選択された言語を取得します。It gets the language selected in the scenario page. ComputerVisionClient.AnalyzeImageByDomainAsync メソッドを呼び出し、画像の URL、視覚的な特徴、言語を渡した後、結果を DomainModelResults インスタンスとして返します。It calls the ComputerVisionClient.AnalyzeImageByDomainAsync method, passing the image URL, the visual features, and the language, then returns the result as an DomainModelResults instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

Describe Image (画像を説明する) シナリオを調べるExplore the Describe Image scenario

このシナリオは、DescribePage.xaml ページによって管理されます。This scenario is managed by the DescribePage.xaml page. 言語を選択して人間が判読できる画像の説明を作成し、画像と結果の両方を表示できます。You can choose a language to create a human-readable description of the image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • UploadAndDescribeImageAsyncUploadAndDescribeImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.DescribeImageInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.DescribeImageInStreamAsync method.
  • DescribeUrlAsyncDescribeUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.DescribeImageAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.DescribeImageAsync method.

UploadAndDescribeImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndDescribeImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. アプリは、imageFilePath で指定されたローカル ファイルを Stream として読み取るために開いた後、シナリオ ページで選択された言語を取得します。It opens the local file specified in imageFilePath for reading as a Stream, then gets the language selected in the scenario page. ComputerVisionClient.DescribeImageInStreamAsync メソッドを呼び出し、ファイル、候補の最大数 (この場合は 3)、言語に対する Stream を渡した後、結果を ImageDescription インスタンスとして返します。It calls the ComputerVisionClient.DescribeImageInStreamAsync method, passing the Stream for the file, the maximum number of candidates (in this case, 3), and the language, then returns the result as an ImageDescription instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

DescribeUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The DescribeUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. シナリオ ページで選択された言語を取得します。It gets the language selected in the scenario page. ComputerVisionClient.DescribeImageAsync メソッドを呼び出し、画像の URL、候補の最大数 (この場合は 3)、言語を渡した後、結果を ImageDescription インスタンスとして返します。It calls the ComputerVisionClient.DescribeImageAsync method, passing the image URL, the maximum number of candidates (in this case, 3), and the language, then returns the result as an ImageDescription instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

Generate Tags (タグを生成する) シナリオを調べるExplore the Generate Tags scenario

このシナリオは、TagsPage.xaml ページによって管理されます。This scenario is managed by the TagsPage.xaml page. 画像の視覚的な特徴にタグを付けるための言語を選択して、画像と結果の両方を表示できます。You can choose a language to tag the visual features of an image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • UploadAndGetTagsForImageAsyncUploadAndGetTagsForImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.TagImageInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.TagImageInStreamAsync method.
  • GenerateTagsForUrlAsyncGenerateTagsForUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.TagImageAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.TagImageAsync method.

UploadAndGetTagsForImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndGetTagsForImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. アプリは、imageFilePath で指定されたローカル ファイルを Stream として読み取るために開いた後、シナリオ ページで選択された言語を取得します。It opens the local file specified in imageFilePath for reading as a Stream, then gets the language selected in the scenario page. ComputerVisionClient.TagImageInStreamAsync メソッドを呼び出し、ファイルと言語に対する Stream を渡した後、結果を TagResult インスタンスとして返します。It calls the ComputerVisionClient.TagImageInStreamAsync method, passing the Stream for the file and the language, then returns the result as a TagResult instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

GenerateTagsForUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The GenerateTagsForUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. シナリオ ページで選択された言語を取得します。It gets the language selected in the scenario page. ComputerVisionClient.TagImageAsync メソッドを呼び出し、画像の URL と言語を渡した後、結果を TagResult インスタンスとして返します。It calls the ComputerVisionClient.TagImageAsync method, passing the image URL and the language, then returns the result as a TagResult instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

Recognize Text (OCR) (テキストを認識する (OCR)) シナリオを調べるExplore the Recognize Text (OCR) scenario

このシナリオは、OCRPage.xaml ページによって管理されます。This scenario is managed by the OCRPage.xaml page. 画像から印刷されたテキストを認識して抽出するための言語を選択して、画像と結果の両方を表示できます。You can choose a language to recognize and extract printed text from an image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • UploadAndRecognizeImageAsyncUploadAndRecognizeImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.RecognizePrintedTextInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.RecognizePrintedTextInStreamAsync method.
  • RecognizeUrlAsyncRecognizeUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.RecognizePrintedTextAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.RecognizePrintedTextAsync method.

UploadAndRecognizeImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndRecognizeImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. アプリは、imageFilePath で指定されたローカル ファイルを Stream として読み取るために開いた後、シナリオ ページで選択された言語を取得します。It opens the local file specified in imageFilePath for reading as a Stream, then gets the language selected in the scenario page. ComputerVisionClient.RecognizePrintedTextInStreamAsync メソッドを呼び出し、向きが検出されていないことを示して、ファイルと言語に対する Stream を渡した後、結果を OcrResult インスタンスとして返します。It calls the ComputerVisionClient.RecognizePrintedTextInStreamAsync method, indicating that orientation is not detected and passing the Stream for the file and the language, then returns the result as an OcrResult instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

RecognizeUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The RecognizeUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. シナリオ ページで選択された言語を取得します。It gets the language selected in the scenario page. ComputerVisionClient.RecognizePrintedTextAsync メソッドを呼び出し、向きが検出されていないことを示して、画像の URL と言語を渡した後、結果を OcrResult インスタンスとして返します。It calls the ComputerVisionClient.RecognizePrintedTextAsync method, indicating that orientation is not detected and passing the image URL and the language, then returns the result as an OcrResult instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

Recognize Text V2 (English) (テキストを認識する V2 (英語)) シナリオを調べるExplore the Recognize Text V2 (English) scenario

このシナリオは、TextRecognitionPage.xaml ページによって管理されます。This scenario is managed by the TextRecognitionPage.xaml page. 画像から印刷されたテキストまたは手書きのテキストを非同期的に認識して抽出するための認識モードと言語を選択して、画像と結果の両方を表示できます。You can choose the recognition mode and a language to asynchronously recognize and extract either printed or handwritten text from an image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • UploadAndRecognizeImageAsyncUploadAndRecognizeImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、RecognizeAsync メソッドを呼び出し、ComputerVisionClient.RecognizeTextInStreamAsync メソッドにパラメーター化された委任を渡すことによって、Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the RecognizeAsync method and passing a parameterized delegate for the ComputerVisionClient.RecognizeTextInStreamAsync method.
  • RecognizeUrlAsyncRecognizeUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、RecognizeAsync メソッドを呼び出し、ComputerVisionClient.RecognizeTextAsync メソッドにパラメーター化された委任を渡すことによって、Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the RecognizeAsync method and passing a parameterized delegate for the ComputerVisionClient.RecognizeTextAsync method.
  • RecognizeAsync このメソッドでは、UploadAndRecognizeImageAsync メソッドと RecognizeUrlAsync メソッドの両方に対する非同期呼び出し、および ComputerVisionClient.GetTextOperationResultAsync メソッドを呼び出すことによる結果のポーリングが処理されます。RecognizeAsync This method handles the asynchronous calling for both the UploadAndRecognizeImageAsync and RecognizeUrlAsync methods, as well as polling for results by calling the ComputerVisionClient.GetTextOperationResultAsync method.

Computer Vision のサンプル アプリに含まれる他のシナリオとは違って、このシナリオは非同期であり、処理を開始するために呼び出すメソッドと、その処理の状態を確認して結果を返すために呼び出すメソッドが異なります。Unlike the other scenarios included in the Computer Vision sample app, this scenario is asynchronous, in that one method is called to start the process, but a different method is called to check on the status and return the results of that process. このシナリオの論理的な流れは、他のシナリオとやや異なります。The logical flow in this scenario is somewhat different from that in the other scenarios.

UploadAndRecognizeImageAsync メソッドは、Stream として読み取るためのローカル ファイル (imageFilePath で指定されています) を開き、RecognizeAsync メソッドを呼び出して次のものを渡します。The UploadAndRecognizeImageAsync method opens the local file specified in imageFilePath for reading as a Stream, then calls the RecognizeAsync method, passing:

  • GetHeadersAsyncFunc では、ComputerVisionClient.RecognizeTextInStreamAsyncメソッドのパラメーター化された非同期委任のラムダ式と、パラメーターとしてのファイルおよび認識モードに対する StreamA lambda expression for a parameterized asynchronous delegate of the ComputerVisionClient.RecognizeTextInStreamAsync method, with the Stream for the file and the recognition mode as parameters, in GetHeadersAsyncFunc.
  • GetOperationUrlFunc では、Operation-Location 応答ヘッダー値を取得するための委任に対するラムダ式。A lambda expression for a delegate to get the Operation-Location response header value, in GetOperationUrlFunc.

RecognizeUrlAsync メソッドは、RecognizeAsync メソッドを呼び出して、次のものを渡します。The RecognizeUrlAsync method calls the RecognizeAsync method, passing:

  • GetHeadersAsyncFunc では、ComputerVisionClient.RecognizeTextAsyncメソッドのパラメーター化された非同期委任のラムダ式と、パラメーターとしてのリモート画像の URL および認識モード。A lambda expression for a parameterized asynchronous delegate of the ComputerVisionClient.RecognizeTextAsync method, with the URL of the remote image and the recognition mode as parameters, in GetHeadersAsyncFunc.
  • GetOperationUrlFunc では、Operation-Location 応答ヘッダー値を取得するための委任に対するラムダ式。A lambda expression for a delegate to get the Operation-Location response header value, in GetOperationUrlFunc.

RecognizeAsync メソッドが完了すると、UploadAndRecognizeImageAsync メソッドと RecognizeUrlAsync メソッドの両方が、結果を TextOperationResult のインスタンスとして返します。When the RecognizeAsync method is completed, both UploadAndRecognizeImageAsync and RecognizeUrlAsync methods return the result as a TextOperationResult instance. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

RecognizeAsync メソッドは、GetHeadersAsyncFunc で渡された ComputerVisionClient.RecognizeTextInStreamAsync メソッドまたは ComputerVisionClient.RecognizeTextAsync メソッドのいずれかに対するパラメーター化された委任を呼び出して、応答を待ちます。The RecognizeAsync method calls the parameterized delegate for either the ComputerVisionClient.RecognizeTextInStreamAsync or ComputerVisionClient.RecognizeTextAsync method passed in GetHeadersAsyncFunc and waits for the response. このメソッドは、その後、GetOperationUrlFunc で渡された委任を呼び出して、応答から Operation-Location 応答ヘッダーの値を取得します。The method then calls the delegate passed in GetOperationUrlFunc to get the Operation-Location response header value from the response. この値は、Computer Vision から GetHeadersAsyncFunc で渡されたメソッドの結果を取得するために使用される URL です。This value is the URL used to retrieve the results of the method passed in GetHeadersAsyncFunc from Computer Vision.

その後、RecognizeAsync メソッドは ComputerVisionClient.GetTextOperationResultAsync メソッドを呼び出し、Operation-Location 応答ヘッダーから取得した URL を渡して、GetHeadersAsyncFunc で渡されたメソッドの状態と結果を取得します。The RecognizeAsync method then calls the ComputerVisionClient.GetTextOperationResultAsync method, passing the URL retrieved from the Operation-Location response header, to get the status and result of the method passed in GetHeadersAsyncFunc. 状態においてメソッドの完了、成功、または失敗が示されていない場合、RecognizeAsync メソッドは、ComputerVisionClient.GetTextOperationResultAsync をさらに 3 回呼び出します。呼び出しの間には、3 秒間待機します。If the status doesn't indicate that the method completed, successfully or unsuccessfully, the RecognizeAsync method calls ComputerVisionClient.GetTextOperationResultAsync 3 more times, waiting 3 seconds between calls. RecognizeAsync メソッドは、呼び出し元のメソッドに結果を返します。The RecognizeAsync method returns the results to the method that called it.

Get Thumbnail (サムネイルを取得する) シナリオを調べるExplore the Get Thumbnail scenario

このシナリオは、ThumbnailPage.xaml ページによって管理されます。This scenario is managed by the ThumbnailPage.xaml page. スマート トリミングを使用するかどうかを指示し、必要な高さと幅を指定して、画像からサムネイルを生成し、画像と結果の両方を表示できます。You can indicate whether to use smart cropping, and specify desired height and width, to generate a thumbnail from an image, and see both the image and the results. シナリオ ページでは、画像のソースに応じて、次のメソッドが使用されます。The scenario page uses the following methods, depending on the source of the image:

  • UploadAndThumbnailImageAsyncUploadAndThumbnailImageAsync
    このメソッドは、ローカルの画像に対して使用されます。画像は、Stream としてエンコードされていて、ComputerVisionClient.GenerateThumbnailInStreamAsync メソッドを呼び出すことによって Computer Vision に送信される必要があります。This method is used for local images, in which the image must be encoded as a Stream and sent to Computer Vision by calling the ComputerVisionClient.GenerateThumbnailInStreamAsync method.
  • ThumbnailUrlAsyncThumbnailUrlAsync
    このメソッドは、リモートの画像に対して使用されます。画像の URL は、ComputerVisionClient.GenerateThumbnailAsync メソッドを呼び出すことによって Computer Vision に送信されます。This method is used for remote images, in which the URL for the image is sent to Computer Vision by calling the ComputerVisionClient.GenerateThumbnailAsync method.

UploadAndThumbnailImageAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The UploadAndThumbnailImageAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. サンプル アプリはローカル画像を分析しているため、Computer Vision にその画像の内容を送信する必要があります。Because the sample app is analyzing a local image, it has to send the contents of that image to Computer Vision. Stream として読み取るために、imageFilePath で指定されたローカル ファイルを開きます。It opens the local file specified in imageFilePath for reading as a Stream. ComputerVisionClient.GenerateThumbnailInStreamAsync メソッドを呼び出して、幅、高さ、ファイルに対する Stream、およびスマート トリミングを使用するかどうかを渡し、結果を Stream として返します。It calls the ComputerVisionClient.GenerateThumbnailInStreamAsync method, passing the width, height, the Stream for the file, and whether to use smart cropping, then returns the result as a Stream. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

RecognizeUrlAsync メソッドでは、指定されたサブスクリプション キーとエンドポイント URL を使用して、新しい ComputerVisionClient インスタンスが作成されます。The RecognizeUrlAsync method creates a new ComputerVisionClient instance, using the specified subscription key and endpoint URL. ComputerVisionClient.GenerateThumbnailAsync メソッドを呼び出して、幅、高さ、画像の URL、およびスマート トリミングを使用するかどうかを渡し、結果を Stream として返します。It calls the ComputerVisionClient.GenerateThumbnailAsync method, passing the width, height, the URL for the image, and whether to use smart cropping, then returns the result as a Stream. ImageScenarioPage クラスから継承されたメソッドは、返された結果をシナリオ ページに表示します。The methods inherited from the ImageScenarioPage class present the returned results in the scenario page.

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

不要になったときは、Microsoft/Cognitive-Vision-Windows リポジトリを複製したフォルダーを削除します。When no longer needed, delete the folder into which you cloned the Microsoft/Cognitive-Vision-Windows repository. サンプル画像を使用した場合は、Microsoft/Cognitive-Face-Windows リポジトリを複製したフォルダーも削除します。If you opted to use the sample images, also delete the folder into which you cloned the Microsoft/Cognitive-Face-Windows repository.

次のステップNext steps