次の方法で共有


クイック スタート: Azure AI Vision v3.2 GA Read

OCR (Read) エディション

重要

要件に最も適した Read エディションを選択します。

入力 Read のエディション 特長
画像: 一般的な、野生の画像 ラベル、道路標識、ポスター イメージの OCR (バージョン 4.0) OCR をユーザー エクスペリエンス シナリオに簡単に埋め込むことができる、パフォーマンスが向上した同期 API を使用して、ドキュメント以外の一般的な画像用に最適化されています。
ドキュメント: デジタルとスキャン (画像を含む) 書籍、記事、レポート ドキュメント インテリジェンス読み取りモデル インテリジェントなドキュメント処理を大規模に自動化するために、非同期 API を使用してテキストの量が多いスキャンおよびデジタル ドキュメント用に最適化されています。

Azure AI Vision v3.2 GA Read について

最新の Azure AI Vision v3.2 GA Read をお探しですか? 今後のすべての OCR の読み取り拡張機能は、前述の 2 つのサービスの一部です。 Azure AI Vision v3.2 に対する更新はこれ以上ありません。 詳細については、「 Azure AI Vision 3.2 GA Read API の呼び出 し」と 「クイック スタート: Azure AI Vision v3.2 GA Read」を参照してください。

Azure AI Vision Read REST API またはクライアント ライブラリの使用を開始します。 Read APIは、画像からテキストを抽出し、それを構造化文字列として返す AI アルゴリズムを提供します。 以下の手順に従って、パッケージを自分のアプリケーションにインストールし、基本タスクのコード例を試してみましょう。

光学式文字認識 (OCR) クライアント ライブラリを使用して、画像から印刷されたテキストや手書きのテキストを読み取ります。 OCR サービスは、画像に映っているテキストを読み取って、文字ストリームに変換することができます。 テキスト認識の詳細については、 OCR の概要を参照してください。 このセクションのコードでは、最新の Azure AI Vision パッケージを使用します。

ヒント

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

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

前提条件

  • Azure サブスクリプション - 無料で作成します
  • Visual Studio IDE または .NET Core の現在のバージョン。
  • Azure AI Vision リソース。 Free 価格レベル (F0) を使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。
  • 対象のアプリケーションを Azure AI Vision サービスに接続するために作成するリソースのキーとエンドポイント。
    1. Azure Vision リソースがデプロイされたら、[ リソースに移動] を選択します。
    2. 左側のウィンドウで、[ キーとエンドポイント] を選択します。
    3. クイックスタートの後半で使用するために、いずれかのキーと エンドポイント をコピーします。

環境変数を作成する

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

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

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

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

重要

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

API キーは慎重に使用してください。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。 API キーを使用する場合は、Azure Key Vault に安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用して Azure Key Vault へのアクセスを制限してください。 アプリで API キーを安全に使用する方法の詳細については、 Azure Key Vault での API キーに関するページを参照してください。

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

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

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

印刷されたテキストと手書きのテキストを読み取る

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

    Visual Studio を使用して、C#、Windows、Console 用のコンソール アプリ (.NET Framework) プロジェクトを作成します。

    新しいプロジェクトを作成したら、クライアント ライブラリをインストールします。

    1. ソリューション エクスプローラーでプロジェクト ソリューションを右クリックし、[ソリューションの NuGet パッケージの管理] を選択します。
    2. 開いたパッケージ マネージャーで、[参照] を選択します。 [ プレリリースを含める] を選択します。
    3. Microsoft.Azure.CognitiveServices.Vision.ComputerVision を検索して選択します。
    4. 詳細のダイアログ ボックスで、プロジェクトを選択し、最新の安定バージョンを選択します。 次に、[インストール] を選択 します
  2. プロジェクト ディレクトリから、任意のエディターまたは IDE で Program.cs ファイルを開きます。 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");
    
            private const string READ_TEXT_URL_IMAGE = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Extract text (OCR) from a URL image using the Read API
                ReadFileUrl(client, READ_TEXT_URL_IMAGE).Wait();
            }
    
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
    
            public static async Task ReadFileUrl(ComputerVisionClient client, string urlFile)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("READ FILE FROM URL");
                Console.WriteLine();
    
                // Read text from URL
                var textHeaders = await client.ReadAsync(urlFile);
                // After the request, get the operation ___location (operation ID)
                string operationLocation = textHeaders.OperationLocation;
                Thread.Sleep(2000);
    
                // Retrieve the URI where the extracted text will be stored from the Operation-Location header.
                // We only need the ID and not the full URL
                const int numberOfCharsInOperationId = 36;
                string operationId = operationLocation.Substring(operationLocation.Length - numberOfCharsInOperationId);
    
                // Extract the text
                ReadOperationResult results;
                Console.WriteLine($"Extracting text from URL file {Path.GetFileName(urlFile)}...");
                Console.WriteLine();
                do
                {
                    results = await client.GetReadResultAsync(Guid.Parse(operationId));
                }
                while ((results.Status == OperationStatusCodes.Running ||
                    results.Status == OperationStatusCodes.NotStarted));
    
                // Display the found text.
                Console.WriteLine();
                var textUrlFileResults = results.AnalyzeResult.ReadResults;
                foreach (ReadResult page in textUrlFileResults)
                {
                    foreach (Line line in page.Lines)
                    {
                        Console.WriteLine(line.Text);
                    }
                }
                Console.WriteLine();
            }
    
        }
    }
    
  3. オプションの手順として、「 データの処理方法を決定する」を参照してください。 たとえば、最新の GA モデルを明示的に指定するには、次のように ReadAsync 呼び出しを編集します。 パラメータをスキップするか、"latest" を使用して最新の GA モデルを使用します。

      // Read text from URL with a specific model version
      var textHeaders = await client.ReadAsync(urlFile,null,null,"2022-04-30");
    
  4. アプリケーションを実行します。

    • [ デバッグ ] メニューの [ デバッグの開始] を選択します。

出力

Azure AI Vision - .NET quickstart example

----------------------------------------------------------
READ FILE FROM URL

Extracting text from URL file printed_text.jpg...


Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
Calories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

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

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

次のステップ

このクイックスタートでは、OCR クライアント ライブラリをインストールし、Read API を使用する方法について学習しました。 次は、Read API の機能の詳細について学習しましょう。

[Read API を呼び出す](../Vision-API-How-to-Topics/call-read-api.md)

光学式文字認識 (OCR) クライアント ライブラリを使用して、リモート画像から印刷されたテキストや手書きのテキストを読み取ります。 OCR サービスは、画像に映っているテキストを読み取って、文字ストリームに変換することができます。 テキスト認識の詳細については、 OCR の概要を参照してください。

ヒント

また、ローカルの画像からテキストを読み取ることもできます。 read_in_streamなど、 ComputerVisionClientOperationsMixin メソッドを参照 してください。 または、ローカル イメージを含むシナリオについては、 GitHub のサンプル コードを参照してください。

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

前提条件

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

環境変数を作成する

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

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

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

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

重要

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

API キーは慎重に使用してください。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。 API キーを使用する場合は、Azure Key Vault に安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用して Azure Key Vault へのアクセスを制限してください。 アプリで 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
    
  2. Pillow ライブラリをインストールします。

    pip install pillow
    
  3. 新しい Python アプリケーション ファイルを作成 quickstart-file.py。 次に、お好きなエディターまたは IDE で開きます。

  4. 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
    '''
    
    '''
    OCR: Read File using the Read API, extract text - remote
    This example will extract text in an image, then print results, line by line.
    This API call can also extract handwriting style text (not shown).
    '''
    print("===== Read File - remote =====")
    # Get an image with text
    read_image_url = "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"
    
    # Call API with URL and raw response (allows you to get the operation ___location)
    read_response = computervision_client.read(read_image_url,  raw=True)
    
    # Get the operation ___location (URL with an ID at the end) from the response
    read_operation_location = read_response.headers["Operation-Location"]
    # Grab the ID from the URL
    operation_id = read_operation_location.split("/")[-1]
    
    # Call the "GET" API and wait for it to retrieve the results 
    while True:
        read_result = computervision_client.get_read_result(operation_id)
        if read_result.status not in ['notStarted', 'running']:
            break
        time.sleep(1)
    
    # Print the detected text, line by line
    if read_result.status == OperationStatusCodes.succeeded:
        for text_result in read_result.analyze_result.read_results:
            for line in text_result.lines:
                print(line.text)
                print(line.bounding_box)
    print()
    '''
    END - Read File - remote
    '''
    
    print("End of Computer Vision quickstart.")
    
    
  5. オプションの手順として、「 データの処理方法を決定する」を参照してください。 たとえば、最新の GA モデルを明示的に指定するには、次のように read ステートメントを編集します。 パラメーターを省くか "latest" を使用すると、最新の GA モデルが自動的に使用されます。

       # Call API with URL and raw response (allows you to get the operation ___location)
       read_response = computervision_client.read(read_image_url,  raw=True, model_version="2022-04-30")
    
  6. クイック スタート ファイルで python コマンドを使用して、アプリケーションを実行します。

    python quickstart-file.py
    

出力

===== Read File - remote =====
The quick brown fox jumps
[38.0, 650.0, 2572.0, 699.0, 2570.0, 854.0, 37.0, 815.0]
Over
[184.0, 1053.0, 508.0, 1044.0, 510.0, 1123.0, 184.0, 1128.0]
the lazy dog!
[639.0, 1011.0, 1976.0, 1026.0, 1974.0, 1158.0, 637.0, 1141.0]

End of Azure AI Vision quickstart.

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

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

次のステップ

このクイックスタートでは、OCR クライアント ライブラリをインストールし、Read API を使用する方法について学習しました。 次は、Read API の機能の詳細について学習しましょう。

[Read API を呼び出す](../Vision-API-How-to-Topics/call-read-api.md)

光学式文字認識 (OCR) クライアント ライブラリを使用し、Read API を使用して、画像内の印刷されたテキストや手書きのテキストを読み取ります。 OCR サービスは、画像に映っているテキストを読み取って、文字ストリームに変換することができます。 テキスト認識の詳細については、 OCR の概要を参照してください。

ヒント

また、ローカルの画像からテキストを読み取ることもできます。 ReadInStream などの ComputerVisionClient メソッドを参照してください。 または、ローカル イメージを含むシナリオについては、 GitHub のサンプル コードを参照してください。

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

前提条件

  • Azure サブスクリプション - 無料で作成します
  • Node.jsの現在のバージョン。
  • Azure AI Vision リソース。 Free 価格レベル (F0) を使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。
  • 対象のアプリケーションを Azure AI Vision サービスに接続するために作成するリソースのキーとエンドポイント。
    1. Azure Vision リソースがデプロイされたら、[ リソースに移動] を選択します。
    2. 左側のウィンドウで、[ キーとエンドポイント] を選択します。
    3. クイックスタートの後半で使用するために、いずれかのキーと エンドポイント をコピーします。

環境変数を作成する

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

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

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

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

重要

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

API キーは慎重に使用してください。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。 API キーを使用する場合は、Azure Key Vault に安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用して Azure Key Vault へのアクセスを制限してください。 アプリで API キーを安全に使用する方法の詳細については、 Azure Key Vault での API キーに関するページを参照してください。

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

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

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

印刷されたテキストと手書きのテキストを読み取る

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

  1. コンソール ウィンドウで、アプリの新しいディレクトリを作成し、そのディレクトリに移動します。

    mkdir myapp
    cd myapp
    
  2. npm init コマンドを実行し、package.json ファイルを使用して node アプリケーションを作成します。 プロンプトが表示されたら、Enter を選択します。

    npm init
    
  3. クライアント ライブラリをインストールするには、ms-rest-azure@azure/cognitiveservices-computervision npm パッケージをインストールします。

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. async モジュールをインストールします。

    npm install async
    

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

  5. 新しいファイルを作成 してindex.jsし、テキスト エディターで開きます。

  6. 次のコードを 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 () {
    
          /**
           * OCR: READ PRINTED & HANDWRITTEN TEXT WITH THE READ API
           * Extracts text from images using OCR (optical character recognition).
           */
          console.log('-------------------------------------------------');
          console.log('READ PRINTED, HANDWRITTEN TEXT AND PDF');
          console.log();
    
          // URL images containing printed and/or handwritten text. 
          // The URL can point to image files (.jpg/.png/.bmp) or multi-page files (.pdf, .tiff).
          const printedTextSampleURL = 'https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/printed_text.jpg';
    
          // Recognize text in printed image from a URL
          console.log('Read printed text from URL...', printedTextSampleURL.split('/').pop());
          const printedResult = await readTextFromURL(computerVisionClient, printedTextSampleURL);
          printRecText(printedResult);
    
          // Perform read and await the result from URL
          async function readTextFromURL(client, url) {
            // To recognize text in a local image, replace client.read() with readTextInStream() as shown:
            let result = await client.read(url);
            // Operation ID is last path segment of operationLocation (a URL)
            let operation = result.operationLocation.split('/').slice(-1)[0];
    
            // Wait for read recognition to complete
            // result.status is initially undefined, since it's the result of read
            while (result.status !== "succeeded") { await sleep(1000); result = await client.getReadResult(operation); }
            return result.analyzeResult.readResults; // Return the first page of result. Replace [0] with the desired page if this is a multi-page file such as .pdf or .tiff.
          }
    
          // Prints all text from Read result
          function printRecText(readResults) {
            console.log('Recognized text:');
            for (const page in readResults) {
              if (readResults.length > 1) {
                console.log(`==== Page: ${page}`);
              }
              const result = readResults[page];
              if (result.lines.length) {
                for (const line of result.lines) {
                  console.log(line.words.map(w => w.text).join(' '));
                }
              }
              else { console.log('No recognized text.'); }
            }
          }
    
          /**
           * 
           * Download the specified file in the URL to the current local folder
           * 
           */
          function downloadFilesToLocal(url, localFileName) {
            return new Promise((resolve, reject) => {
              console.log('--- Downloading file to local directory from: ' + url);
              const request = https.request(url, (res) => {
                if (res.statusCode !== 200) {
                  console.log(`Download sample file failed. Status code: ${res.statusCode}, Message: ${res.statusMessage}`);
                  reject();
                }
                var data = [];
                res.on('data', (chunk) => {
                  data.push(chunk);
                });
                res.on('end', () => {
                  console.log('   ... Downloaded successfully');
                  fs.writeFileSync(localFileName, Buffer.concat(data));
                  resolve();
                });
              });
              request.on('error', function (e) {
                console.log(e.message);
                reject();
              });
              request.end();
            });
          }
    
          /**
           * END - Recognize Printed & Handwritten Text
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  7. オプションの手順として、「 データの処理方法を決定する」を参照してください。 たとえば、最新の GA モデルを明示的に指定するには、次のように read ステートメントを編集します。 パラメーターを省くか "latest" を使用すると、最新の GA モデルが自動的に使用されます。

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. クイック スタート ファイルで node コマンドを使用して、アプリケーションを実行します。

    node index.js
    

出力

-------------------------------------------------
READ PRINTED, HANDWRITTEN TEXT AND PDF

Read printed text from URL... printed_text.jpg
Recognized text:
Nutrition Facts Amount Per Serving
Serving size: 1 bar (40g)
Serving Per Package: 4
Total Fat 13g
Saturated Fat 1.5g
Amount Per Serving
Trans Fat 0g
Calories 190
Cholesterol 0mg
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

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

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

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

次のステップ

このクイックスタートでは、OCR クライアント ライブラリをインストールし、Read API を使用する方法について学習しました。 次は、Read API の機能の詳細について学習しましょう。

[Read API を呼び出す](../Vision-API-How-to-Topics/call-read-api.md)

光学式文字認識 (OCR) REST API を使用して、印刷されたテキストや手書きのテキストを読み取ります。

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

前提条件

  • Azure サブスクリプション - 無料で作成します
  • cURL がインストールされています。
  • Azure AI Vision リソース。 Free 価格レベル (F0) を使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。
  • 対象のアプリケーションを Azure AI Vision サービスに接続するために作成するリソースのキーとエンドポイント。
    1. Azure Vision リソースがデプロイされたら、[ リソースに移動] を選択します。
    2. 左側のウィンドウで、[ キーとエンドポイント] を選択します。
    3. クイックスタートの後半で使用するために、いずれかのキーと エンドポイント をコピーします。

印刷されたテキストと手書きのテキストを読み取る

光学式文字認識 (OCR) サービスを使用すると、画像またはドキュメント内の可視テキストを抽出し、文字ストリームに変換することができます。 テキスト抽出の詳細については、 OCR の概要を参照してください。

Read API を呼び出す

このサンプルを作成して実行するには、次の手順を実行します。

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

  2. 必要に応じて、コマンドに次の変更を加えます。

    1. <key> の値をキーに置き換えます。
    2. 要求 URL (`westcentralus`) の最初の部分を独自のエンドポイント URL 内のテキストに置き換えます。

      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 -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

応答には Operation-Location ヘッダーが含まれ、その値は一意の URL になります。 この URL を使用して、読み取り操作の結果に対してクエリを実行します。 URL の有効期間は 48 時間です。

必要に応じて、モデルのバージョンを指定する

オプションの手順として、「 データの処理方法を決定する」を参照してください。 たとえば、最新の GA モデルを明示的に指定するには、model-version=2022-04-30 をパラメーターとして使用します。 パラメーターを省くか model-version=latest を使用すると、最新の GA モデルが自動的に使用されます。

curl -v -X POST "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyze?model-version=2022-04-30" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"

読み取りの結果を取得する

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

  2. URL を前の手順でコピーした Operation-Location 値に置き換えます。

  3. <key> の値をキーに置き換えます。

  4. コンソール ウィンドウを開きます。

  5. テキスト エディターからコンソール ウィンドウにコマンドを貼り付けて、コマンドを実行します。

    curl -v -X GET "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/read/analyzeResults/{operationId}" -H "Ocp-Apim-Subscription-Key: {key}" --data-ascii "{body}" 
    

結果の確認

成功応答が JSON で返されます。 サンプル アプリケーションによって成功応答が解析され、次の例のようにコンソール ウィンドウに表示されます。

{
  "status": "succeeded",
  "createdDateTime": "2021-04-08T21:56:17.6819115+00:00",
  "lastUpdatedDateTime": "2021-04-08T21:56:18.4161316+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 0,
        "width": 338,
        "height": 479,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              25,
              14,
              318,
              14,
              318,
              59,
              25,
              59
            ],
            "text": "NOTHING",
            "appearance": {
              "style": {
                "name": "other",
                "confidence": 0.971
              }
            },
            "words": [
              {
                "boundingBox": [
                  27,
                  15,
                  294,
                  15,
                  294,
                  60,
                  27,
                  60
                ],
                "text": "NOTHING",
                "confidence": 0.994
              }
            ]
          }
        ]
      }
    ]
  }
}

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

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

次のステップ

このクイックスタートでは、Read REST API を呼び出す方法について説明しました。 次は、Read API の機能の詳細について学習しましょう。

[Read API を呼び出す](../Vision-API-How-to-Topics/call-read-api.md)

前提条件

  • Azure サブスクリプション - 無料で作成します

  • Azure AI Vision リソース。 Free 価格レベル (F0) を使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

  • Vision Studio に接続します。

    • ここで、サインインを求められる場合があります。
    • サインインしたら、[ すべてのリソースを表示] を選択します。 必要に応じて、[ 最新の情報に更新] を選択します。 リソースが使用可能であることを確認します。

    詳細については、「 Vision Studio の使用を開始する」を参照してください。

印刷されたテキストと手書きのテキストを読み取る

  1. 光学 式文字認識で、[ 画像からテキストを抽出] を選択します。

  2. [c0>試してみる] の下に、このデモが Azure アカウントに使用料が発生することを認識しておいてください。 詳細については、 Azure AI Vision の価格に関するページを参照してください。

  3. 使用可能なセットから画像を選択するか、独自の画像をアップロードします。

  4. 必要に応じて、[ リソースを選択してください ] を選択してリソースを選択します。

    画像を選択すると、抽出されたテキストが出力ウィンドウに表示されます。 [ JSON ] タブを選択して、API 呼び出しから返される JSON 出力を表示することもできます。

評価エクスペリエンスの下には、この機能をご自身のアプリケーションで使い始めるための次のステップがあります。

次のステップ

このクイック スタートでは、Vision Studio を使用して Read API にアクセスしました。 次は、Read API の機能の詳細について学習しましょう。

[Read API を呼び出す](../Vision-API-How-to-Topics/call-read-api.md)