Поделиться через


Краткое руководство. 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 чтения.