Краткое руководство. Azure AI Vision v3.2 GA Read

Выпуски OCR (чтение)

Важно!

Выберите выпуск для чтения, который лучше всего соответствует вашим требованиям.

Входные данные Примеры Чтение выпуска Преимущество
Изображения: общие, в дикие образы наклейки, уличные знаки и плакаты OCR для изображений (предварительная версия 4.0) Оптимизировано для общих изображений, не относящихся к документам, с синхронным API с улучшенной производительностью, что упрощает внедрение OCR в сценарии взаимодействия с пользователем.
Документы: цифровые и отсканированные, включая изображения книги, статьи и отчеты Модель чтения аналитики документов Оптимизировано для отсканированных текстов и цифровых документов с асинхронным API для автоматизации интеллектуальной обработки документов в большом масштабе.

Сведения о службе "Визуальное распознавание Azure" версии 3.2( общедоступная версия)

Ищете последнюю общедоступную версию Azure AI Vision 3.2? Все будущие улучшения OCR для чтения являются частью двух служб, перечисленных ранее. В Azure AI Vision версии 3.2 больше нет обновлений. Дополнительные сведения см. в разделах Вызов ОБЩЕДОСТУПНОго API чтения ИИ Визуального распознавания Azure 3.2 и Краткое руководство. Azure AI Vision v3.2 GA Read.

Приступая к работе с REST API чтения и клиентскими библиотеками службы "Визуальное распознавание Azure". API чтения предоставляет алгоритмы искусственного интеллекта для извлечения текста из изображений и его возврата в виде структурированных строк. Выполните приведенные здесь действия, чтобы установить пакет SDK для приложения и протестировать пример кода для выполнения базовых задач.

Использование клиентской библиотеки оптического распознавания символов (OCR) для чтения печатного и рукописного текста с изображения. Служба OCR может считывать видимый текст в образе и преобразовывать его в поток символов. Дополнительные сведения о распознавании текста см. в обзоре распознавания текста. В коде, приведенном в этом разделе, используется последняя версия пакета Azure AI Vision .

Совет

Кроме того, можно извлечь текст из локального образа. Изучите информацию о методах класса ComputerVisionClient, например о ReadInStreamAsync. Либо просмотрите пример кода на GitHub для сценариев, включающих использование локальных изображений.

Справочная документация | Исходный код библиотеки | Пакет (NuGet) | Примеры

Предварительные требования

  • Подписка Azure — создайте бесплатную учетную запись.

  • IDE Visual Studio или текущая версия .NET Core.

  • . Ресурс Визуального распознавания ИИ Azure. Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

  • Ключ и конечная точка из ресурса, который вы создаете для подключения приложения к службе Визуального распознавания ИИ Azure.

    1. После развертывания ресурса Службы визуального распознавания Azure выберите Перейти к ресурсу.
    2. В меню навигации слева выберите Ключи и конечная точка.
    3. Скопируйте один из ключей и конечную точку для использования далее в кратком руководстве.

Создание переменных среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором выполняется приложение.

Перейдите на портал Azure. Если ресурс, созданный в разделе Предварительные требования , успешно развернут, выберите Перейти к ресурсу в разделе Дальнейшие действия. Ключ и конечную точку можно найти в разделе Управление ресурсами на странице Ключи и конечная точка . Ключ ресурса не совпадает с идентификатором подписки Azure.

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье Безопасность служб ИИ Azure.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  1. Чтобы задать VISION_KEY переменную среды, замените your-key одним из ключей для ресурса.
  2. Чтобы задать VISION_ENDPOINT переменную среды, замените your-endpoint на конечную точку для ресурса.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Чтение печатного и рукописного текста

  1. Создайте приложение C#.

    С помощью Visual Studio создайте проект консольного приложения (платформа .NET Framework) для C#, Windows, Консоли.

    После создания проекта установите клиентную библиотеку:

    1. Щелкните правой кнопкой мыши решение проекта в Обозреватель решений и выберите Управление пакетами NuGet для решения.
    2. В открываемом диспетчере пакетов нажмите кнопку Обзор. Выберите параметр Включить предварительные выпуски.
    3. Найдите и выберите элемент Microsoft.Azure.CognitiveServices.Vision.ComputerVision.
    4. В диалоговом окне сведений выберите проект и последнюю стабильную версию. Щелкните Установить.
  2. В каталоге проекта откройте файл 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. Необязательный шаг см. в статье Определение способа обработки данных. Например, чтобы явно указать последнюю общедоступную модель, измените вызов ReadAsync, как показано ниже. Пропустите параметр или используйте "latest" для использования последней общедоступной модели.

      // 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
ories from Fat 110
Sodium 20mg
nt Daily Values are based on Vitamin A 50%
calorie diet.

Очистка ресурсов

Если вы хотите очистить и удалить подписку на службы ИИ Azure, можно удалить ресурс или группу ресурсов. При этом удаляются все ресурсы, связанные с ней.

Дальнейшие действия

Из этого краткого руководства вы узнали, как установить клиентскую библиотеку OCR и использовать API чтения. Теперь ознакомьтесь с дополнительными сведениями о функциях API чтения.

Использование клиентской библиотеки оптического распознавания символов (OCR) для чтения печатного и рукописного текста с удаленного изображения. Служба OCR может считывать видимый текст в образе и преобразовывать его в поток символов. Дополнительные сведения о распознавании текста см. в обзоре распознавания текста.

Совет

Кроме того, вы можете прочитать текст из локального образа. Изучите информацию о методах класса ComputerVisionClientOperationsMixin, например read_in_stream. Либо просмотрите пример кода на GitHub для сценариев, включающих использование локальных изображений.

Справочная документация | Исходный код библиотеки | Пакет (PiPy) | Примеры

Предварительные требования

  • Подписка Azure — создайте бесплатную учетную запись.

  • Python 3.x.

  • Установка Python должна включать pip. Вы можете проверка, установлен ли pip, запустите pip --version в командной строке. Чтобы использовать pip, установите последнюю версию Python.

  • . Ресурс Визуального распознавания ИИ Azure. Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

  • Ключ и конечная точка из ресурса, который вы создаете для подключения приложения к службе Визуального распознавания ИИ Azure.

    1. После развертывания ресурса Службы визуального распознавания Azure выберите Перейти к ресурсу.
    2. В меню навигации слева выберите Ключи и конечная точка.
    3. Скопируйте один из ключей и конечную точку для использования далее в кратком руководстве.

Создание переменных среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором выполняется приложение.

Перейдите на портал Azure. Если ресурс, созданный в разделе Предварительные требования , успешно развернут, выберите Перейти к ресурсу в разделе Дальнейшие действия. Ключ и конечную точку можно найти в разделе Управление ресурсами на странице Ключи и конечная точка . Ключ ресурса не совпадает с идентификатором подписки Azure.

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье Безопасность служб ИИ Azure.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  1. Чтобы задать VISION_KEY переменную среды, замените your-key одним из ключей для ресурса.
  2. Чтобы задать VISION_ENDPOINT переменную среды, замените your-endpoint на конечную точку для ресурса.
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. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.

  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. Необязательный шаг см. в статье Определение способа обработки данных. Например, чтобы явно указать последнюю общедоступную модель, измените оператор read, как показано ниже. При пропуске параметра или использовании "latest" автоматически используется последняя общедоступная модель.

       # 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 для файла quickstart.

    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, можно удалить ресурс или группу ресурсов. При этом удаляются все ресурсы, связанные с ней.

Дальнейшие действия

Из этого краткого руководства вы узнали, как установить клиентскую библиотеку OCR и использовать API чтения. Теперь ознакомьтесь с дополнительными сведениями о функциях API чтения.

Использование клиентской библиотеки оптического распознавания символов (OCR) для чтения печатного и рукописного текста с помощью API чтения. Служба OCR может считывать видимый текст в образе и преобразовывать его в поток символов. Дополнительные сведения о распознавании текста см. в обзоре распознавания текста.

Совет

Кроме того, вы можете прочитать текст из локального образа. См. подробные сведения о методах ComputerVisionClient, например readInStream. Либо просмотрите пример кода на GitHub ля сценариев, включающих использование локальных изображений.

Справочная документация | Исходный код библиотеки | Пакет (npm) | Примеры

Предварительные требования

  • Подписка Azure — создайте бесплатную учетную запись.

  • Текущая версия Node.js.

  • . Ресурс Визуального распознавания ИИ Azure. Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

  • Ключ и конечная точка из ресурса, который вы создаете для подключения приложения к службе Визуального распознавания ИИ Azure.

    1. После развертывания ресурса Службы визуального распознавания Azure выберите Перейти к ресурсу.
    2. В меню навигации слева выберите Ключи и конечная точка.
    3. Скопируйте один из ключей и конечную точку для использования далее в кратком руководстве.

Создание переменных среды

В этом примере учетные данные записываются в переменные среды на локальном компьютере, на котором выполняется приложение.

Перейдите на портал Azure. Если ресурс, созданный в разделе Предварительные требования , успешно развернут, выберите Перейти к ресурсу в разделе Дальнейшие действия. Ключ и конечную точку можно найти в разделе Управление ресурсами на странице Ключи и конечная точка . Ключ ресурса не совпадает с идентификатором подписки Azure.

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье Безопасность служб ИИ Azure.

Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.

  1. Чтобы задать VISION_KEY переменную среды, замените your-key одним из ключей для ресурса.
  2. Чтобы задать VISION_ENDPOINT переменную среды, замените your-endpoint на конечную точку для ресурса.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.

Чтение печатного и рукописного текста

Создайте новое приложение Node.js.

  1. В окне консоли создайте новый каталог для приложения и перейдите к нему.

    mkdir myapp
    cd myapp
    
  2. Выполните команду npm init, чтобы создать приложение узла с помощью файла package.json. Нажмите клавишу ВВОД для любых запросов.

    npm init
    
  3. Чтобы установить клиентную библиотеку, установите ms-rest-azure пакет npm и @azure/cognitiveservices-computervision :

    npm install ms-rest-azure
    npm install @azure/cognitiveservices-computervision
    
  4. Установите асинхронный модуль:

    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. В качестве дополнительного шага см. раздел Определение способа обработки данных. Например, чтобы явно указать последнюю общедоступную модель, измените оператор read, как показано ниже. При пропуске параметра или использовании "latest" автоматически используется последняя общедоступная модель.

      let result = await client.read(url,{modelVersion:"2022-04-30"});
    
  8. Запустите приложение, выполнив команду node для файла quickstart.

    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, можно удалить ресурс или группу ресурсов. При этом удаляются все ресурсы, связанные с ней.

Дальнейшие действия

Из этого краткого руководства вы узнали, как установить клиентскую библиотеку OCR и использовать API чтения. Теперь ознакомьтесь с дополнительными сведениями о функциях API чтения.

Используйте REST API оптического распознавания символов (OCR) для чтения печатного и рукописного текста.

Примечание

В рамках этого краткого руководства для вызова REST API используются команды cURL. Вы также можете вызывать REST API с помощью языка программирования. Примеры см. в репозиториях GitHub для C#, Python, Java и JavaScript.

Предварительные требования

  • Подписка Azure — создайте бесплатную учетную запись.

  • Установленная программа cURL.

  • Ресурс Azure AI Vision. Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

  • Ключ и конечная точка из ресурса, который вы создаете для подключения приложения к службе "Визуальное распознавание ИИ Azure".

    1. После развертывания ресурса Службы визуального распознавания Azure выберите Перейти к ресурсу.
    2. В меню навигации слева выберите Ключи и конечная точка.
    3. Скопируйте один из ключей и конечную точку для последующего использования в кратком руководстве.

Чтение печатного и рукописного текста

Служба оптического распознавания символов (OCR) может извлекать видимый текст на изображении или документе и преобразовывать его в поток символов. Дополнительные сведения об извлечении текста см. в обзоре OCR.

Вызов API чтения

Чтобы создать и запустить пример, сделайте следующее.

  1. Скопируйте приведенную ниже команду в текстовый редактор.

  2. При необходимости внесите следующие изменения в команду.

    1. Замените значение <key> собственным ключом.
    2. Замените первую часть URL-адреса запроса (https://westcentralus.api.cognitive.microsoft.com/) текстом из URL-адреса своей конечной точки.

      Примечание

      Новые ресурсы, созданные после 1 июля 2019 г., будут использовать пользовательские имена поддоменов. Дополнительные сведения и полный список региональных конечных точек см. в статье Пользовательские имена поддоменов для служб ИИ Azure.

    3. При необходимости замените URL-адрес изображения в тексте запроса (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.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-адрес будет использоваться для запрашивания результатов операции Read. Срок действия URL-адреса истекает через 48 часов.

Дополнительно можно указать версию модели.

В качестве дополнительного шага см. раздел Определение способа обработки данных. Например, чтобы явно указать последнюю общедоступную модель, используйте model-version=2022-04-30 в качестве параметра. При пропуске параметра или использовании model-version=latest автоматически используется последняя общедоступная модель.

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, можно удалить ресурс или группу ресурсов. При этом удаляются все ресурсы, связанные с ней.

Дальнейшие действия

Из этого краткого руководства вы узнали, как вызывать REST API чтения. Теперь ознакомьтесь с дополнительными сведениями о функциях API чтения.

Предварительные требования

Чтение печатного и рукописного текста

  1. В разделе Оптическое распознавание символов выберите Извлечь текст из изображений.

  2. В разделе Попробовать подтвердите, что эта демонстрация использует вашу учетную запись Azure. Дополнительные сведения см. в статье Цены на ИИ Визуальное распознавание Azure.

  3. Выберите изображение из доступного набора или отправьте свое изображение.

  4. При необходимости выберите Выберите ресурс , чтобы выбрать свой ресурс.

    После выбора изображения извлеченный текст появится в окне вывода. Вы также можете выбрать вкладку JSON, чтобы просмотреть выходные данные JSON, возвращаемые вызовом API.

Ниже описаны дальнейшие шаги по использованию этой возможности в вашем приложении.

Дальнейшие действия

В этом кратком руководстве вы использовали Vision Studio для доступа к API чтения. Теперь ознакомьтесь с дополнительными сведениями о функциях API чтения.