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

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

Важно!

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

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

Сведения об azure AI Vision версии 3.2 общедоступной версии 2

Ищете последнюю общедоступную версию Azure AI Vision версии 3.2? Все будущие улучшения OCR чтения являются частью двух служб, перечисленных ранее. В Azure AI Vision версии 3.2 нет дополнительных обновлений. Дополнительные сведения см. в статье "Вызов API чтения azure AI Vision 3.2" и краткое руководство. Azure AI Vision версии 3.2 для чтения.

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

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

Совет

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

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

Необходимые компоненты

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

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

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

  • Ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе Распознавания искусственного интеллекта Azure.

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

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

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

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

Совет

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

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

  1. Чтобы задать VISION_KEY переменную среды, замените your-key одним из ключей ресурса.
  2. Чтобы задать переменную среды, замените your-endpoint конечной VISION_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
  • Исходный код для этого шаблона можно найти на портале GitHub.

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

Совет

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

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

Необходимые компоненты

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

  • Python 3.x.

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

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

  • Ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе Распознавания искусственного интеллекта Azure.

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

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

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

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

Совет

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

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

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

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

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

  1. Установите клиентскую библиотеку.

    В окне консоли выполните следующую команду:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    
  2. Установите библиотеку Подушки.

    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
  • Исходный код для этого шаблона можно найти на портале GitHub.

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

Совет

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

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

Необходимые компоненты

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

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

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

  • Ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе Распознавания искусственного интеллекта Azure.

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

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

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

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

Совет

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

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

  1. Чтобы задать VISION_KEY переменную среды, замените your-key одним из ключей ресурса.
  2. Чтобы задать переменную среды, замените your-endpoint конечной VISION_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 пакет и @azure/cognitiveservices-computervision пакет npm:

    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 чтения.

  • Обзор OCR
  • Исходный код для этого шаблона можно найти на портале GitHub.

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

Примечание.

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

Необходимые компоненты

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

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

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

  • Ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе Распознавания искусственного интеллекта Azure.

    1. После развертывания ресурса Azure Vision выберите "Перейти к ресурсу".
    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 чтения.

Необходимые компоненты

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

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

  • ПодключениеVision Studio.

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

    Дополнительные сведения см. в статье "Начало работы с Visual Studio".

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

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

  2. В разделе "Пробная версия" подтвердите, что эта демонстрация вызывает использование вашей учетной записи Azure. Дополнительные сведения см. в ценах на Azure AI Vision.

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

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

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

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

Следующие шаги

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