Краткое руководство. Анализ изображений

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

Используйте клиентскую библиотеку анализа изображений для C#, чтобы проанализировать изображение на наличие тегов содержимого. В этом кратком руководстве определяется метод AnalyzeImageUrl, который использует клиентский объект для анализа удаленного изображения и вывода результатов.

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

Совет

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

Совет

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

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

  • подписка Azure — создайте бесплатную учетную запись.
  • IDE Visual Studio или текущая версия .NET Core.
  • После получения подписки Azure создайте ресурс Компьютерное зрение в портал Azure, чтобы получить ключ и конечную точку. После развертывания ресурса выберите элемент Перейти к ресурсу.
    • Вам потребуется ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе визуального распознавания искусственного интеллекта Azure.
    • Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

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

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

Переход на портал 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 Core.

    Установка клиентской библиотеки

    После создания проекта установите клиентскую библиотеку, щелкнув правой кнопкой мыши решение проекта в Обозревателе решений и выбрав пункт Управление пакетами NuGet. В открывшемся диспетчере пакетов выберите Просмотр, установите флажок Включить предварительные версии и выполните поиск по запросу Microsoft.Azure.CognitiveServices.Vision.ComputerVision. Выберите версию 7.0.0, а затем Установить.

  2. В каталоге проекта откройте файл 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");
    
            // URL image used for analyzing an image (image of puppy)
            private const string ANALYZE_URL_IMAGE = "https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                // Create a client
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Analyze an image to get features and other properties.
                AnalyzeImageUrl(client, ANALYZE_URL_IMAGE).Wait();
            }
    
            /*
             * AUTHENTICATE
             * Creates a Computer Vision client used by each example.
             */
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
           
            public static async Task AnalyzeImageUrl(ComputerVisionClient client, string imageUrl)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("ANALYZE IMAGE - URL");
                Console.WriteLine();
    
                // Creating a list that defines the features to be extracted from the image. 
    
                List<VisualFeatureTypes?> features = new List<VisualFeatureTypes?>()
                {
                    VisualFeatureTypes.Tags
                };
    
                Console.WriteLine($"Analyzing the image {Path.GetFileName(imageUrl)}...");
                Console.WriteLine();
                // Analyze the URL image 
                ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, visualFeatures: features);
    
                // Image tags and their confidence score
                Console.WriteLine("Tags:");
                foreach (var tag in results.Tags)
                {
                    Console.WriteLine($"{tag.Name} {tag.Confidence}");
                }
                Console.WriteLine();
            }
        }
    }
    

    Внимание

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

  3. Выполнение приложения

    Запустите приложение, нажав кнопку Отладка в верхней части окна интегрированной среды разработки.


Выходные данные

----------------------------------------------------------
ANALYZE IMAGE - URL

Analyzing the image sample16.png...

Tags:
grass 0.9957543611526489
dog 0.9939157962799072
mammal 0.9928356409072876
animal 0.9918001890182495
dog breed 0.9890419244766235
pet 0.974603533744812
outdoor 0.969241738319397
companion dog 0.906731367111206
small greek domestic dog 0.8965123891830444
golden retriever 0.8877675533294678
labrador retriever 0.8746421337127686
puppy 0.872604250907898
ancient dog breeds 0.8508287668228149
field 0.8017748594284058
retriever 0.6837497353553772
brown 0.6581960916519165

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

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

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

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

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

Совет

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

Совет

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

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

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

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

  • Python 3.x

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

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

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

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

Переход на портал 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
    

    Также установите библиотеку Pillow.

    pip install pillow
    
  2. Создайте приложение Python.

    Создайте файл Python, например quickstart-file.py.

  3. Откройте quickstart-file.py в текстовом редакторе или IDE и вставьте следующий код.

    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
    '''
    
    '''
    Quickstart variables
    These variables are shared by several examples
    '''
    # Images used for the examples: Describe an image, Categorize an image, Tag an image, 
    # Detect faces, Detect adult or racy content, Detect the color scheme, 
    # Detect domain-specific content, Detect image types, Detect objects
    images_folder = os.path.join (os.path.dirname(os.path.abspath(__file__)), "images")
    remote_image_url = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg"
    '''
    END - Quickstart variables
    '''
    
    
    '''
    Tag an Image - remote
    This example returns a tag (key word) for each thing in the image.
    '''
    print("===== Tag an image - remote =====")
    # Call API with remote image
    tags_result_remote = computervision_client.tag_image(remote_image_url )
    
    # Print results with confidence score
    print("Tags in the remote image: ")
    if (len(tags_result_remote.tags) == 0):
        print("No tags detected.")
    else:
        for tag in tags_result_remote.tags:
            print("'{}' with confidence {:.2f}%".format(tag.name, tag.confidence * 100))
    print()
    '''
    END - Tag an Image - remote
    '''
    print("End of Computer Vision quickstart.")
    
  4. Запустите приложение, выполнив команду python для файла quickstart.

    python quickstart-file.py
    

Выходные данные

===== Tag an image - remote =====
Tags in the remote image:
'outdoor' with confidence 99.00%
'building' with confidence 98.81%
'sky' with confidence 98.21%
'stadium' with confidence 98.17%
'ancient rome' with confidence 96.16%
'ruins' with confidence 95.04%
'amphitheatre' with confidence 93.99%
'ancient roman architecture' with confidence 92.65%
'historic site' with confidence 89.55%
'ancient history' with confidence 89.54%
'history' with confidence 86.72%
'archaeological site' with confidence 84.41%
'travel' with confidence 65.85%
'large' with confidence 61.02%
'city' with confidence 56.57%

End of Azure AI Vision quickstart.

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

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

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

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

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

Совет

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

Совет

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

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

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

  • подписка Azure — создайте бесплатную учетную запись.
  • Текущая версия пакета средств разработки Java (JDK).
  • Средство сборки Gradle или другой диспетчер зависимостей.
  • После получения подписки Azure создайте ресурс Визуального зрения в портал Azure, чтобы получить ключ и конечную точку. После развертывания ресурса выберите элемент Перейти к ресурсу.
    • Вам потребуется ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе визуального распознавания искусственного интеллекта Azure.
    • Используйте бесплатную ценовую категорию (F0), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.

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

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

Переход на портал 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. Создайте проект Gradle.

    В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

    mkdir myapp && cd myapp
    

    Выполните команду gradle init из рабочей папки. Эта команда создает необходимые файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.

    gradle init --type basic
    

    Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.

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

    В этом кратком руководстве используется диспетчер зависимостей Gradle. Клиентскую библиотеку и информацию для других диспетчеров зависимостей можно найти в центральном репозитории Maven.

    Найдите файл build.gradle.kts и откройте его в предпочитаемой интегрированной среде разработки или текстовом редакторе. Затем скопируйте и вставьте в файл приведенную ниже конфигурацию сборки. Эта конфигурация определяет проект как приложение Java, точкой входа которого является класс ImageAnalysisQuickstart. Она импортирует библиотеку Визуального распознавания ИИ Azure.

    plugins {
        java
        application
    }
    application { 
        mainClass.set("ImageAnalysisQuickstart")
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.9-beta")
    }
    
  3. Создайте файл Java.

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

    mkdir -p src/main/java
    

    Перейдите в новую папку и создайте файл с именем ImageAnalysisQuickstart.java.

  4. Откройте ImageAnalysisQuickstart.java в предпочитаемом вами редакторе или IDE и вставьте следующий код.

    import com.microsoft.azure.cognitiveservices.vision.computervision.*;
    import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
    import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;
    
    import java.io.*;
    import java.nio.file.Files;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class ImageAnalysisQuickstart {
    
        // Use environment variables
        static String key = System.getenv("VISION_KEY");
        static String endpoint = System.getenv("VISION_ENDPOINT");
    
        public static void main(String[] args) {
            
            System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");
    
            // Create an authenticated Computer Vision client.
            ComputerVisionClient compVisClient = Authenticate(key, endpoint); 
    
            // Analyze local and remote images
            AnalyzeRemoteImage(compVisClient);
    
        }
    
        public static ComputerVisionClient Authenticate(String key, String endpoint){
            return ComputerVisionManager.authenticate(key).withEndpoint(endpoint);
        }
    
    
        public static void AnalyzeRemoteImage(ComputerVisionClient compVisClient) {
            /*
             * Analyze an image from a URL:
             *
             * Set a string variable equal to the path of a remote image.
             */
            String pathToRemoteImage = "https://github.com/Azure-Samples/cognitive-services-sample-data-files/raw/master/ComputerVision/Images/faces.jpg";
    
            // This list defines the features to be extracted from the image.
            List<VisualFeatureTypes> featuresToExtractFromRemoteImage = new ArrayList<>();
            featuresToExtractFromRemoteImage.add(VisualFeatureTypes.TAGS);
    
            System.out.println("\n\nAnalyzing an image from a URL ...");
    
            try {
                // Call the Computer Vision service and tell it to analyze the loaded image.
                ImageAnalysis analysis = compVisClient.computerVision().analyzeImage().withUrl(pathToRemoteImage)
                        .withVisualFeatures(featuresToExtractFromRemoteImage).execute();
    
    
                // Display image tags and confidence values.
                System.out.println("\nTags: ");
                for (ImageTag tag : analysis.tags()) {
                    System.out.printf("\'%s\' with confidence %f\n", tag.name(), tag.confidence());
                }
            }
    
            catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // END - Analyze an image from a URL.
    
    }
    
  5. Вернитесь в корневую папку проекта и выполните сборку приложения:

    gradle build
    

    Затем запустите его с помощью команды gradle run:

    gradle run
    

Выходные данные

Azure AI Vision - Java Quickstart Sample

Analyzing an image from a URL ...

Tags:
'person' with confidence 0.998895
'human face' with confidence 0.997437
'smile' with confidence 0.991973
'outdoor' with confidence 0.985962
'happy' with confidence 0.969785
'clothing' with confidence 0.961570
'friendship' with confidence 0.946441
'tree' with confidence 0.917331
'female person' with confidence 0.890976
'girl' with confidence 0.888741
'social group' with confidence 0.872044
'posing' with confidence 0.865493
'adolescent' with confidence 0.857371
'love' with confidence 0.852553
'laugh' with confidence 0.850097
'people' with confidence 0.849922
'lady' with confidence 0.844540
'woman' with confidence 0.818172
'group' with confidence 0.792975
'wedding' with confidence 0.615252
'dress' with confidence 0.517169

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

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

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

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

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

Совет

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

Совет

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

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

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

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

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

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

Переход на портал 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. Создание нового приложения Node.js

    В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.

    mkdir myapp && cd myapp
    

    Выполните команду npm init, чтобы создать приложение узла с помощью файла package.json.

    npm init
    

    Установка клиентской библиотеки

    ms-rest-azure Установите пакет npm:@azure/cognitiveservices-computervision

    npm install @azure/cognitiveservices-computervision
    

    Установите также модуль async:

    npm install async
    

    Файл package.json этого приложения будет дополнен зависимостями.

    Создайте новый файл index.js.

  2. Откройте 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 () {
    
          /**
           * DETECT TAGS  
           * Detects tags for an image, which returns:
           *     all objects in image and confidence score.
           */
          console.log('-------------------------------------------------');
          console.log('DETECT TAGS');
          console.log();
    
          // Image of different kind of dog.
          const tagsURL = 'https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png';
    
          // Analyze URL image
          console.log('Analyzing tags in image...', tagsURL.split('/').pop());
          const tags = (await computerVisionClient.analyzeImage(tagsURL, { visualFeatures: ['Tags'] })).tags;
          console.log(`Tags: ${formatTags(tags)}`);
    
          // Format tags for display
          function formatTags(tags) {
            return tags.map(tag => (`${tag.name} (${tag.confidence.toFixed(2)})`)).join(', ');
          }
          /**
           * END - Detect Tags
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  3. Запустите приложение, выполнив команду node для файла quickstart.

    node index.js
    

Выходные данные

-------------------------------------------------
DETECT TAGS

Analyzing tags in image... sample16.png
Tags: grass (1.00), dog (0.99), mammal (0.99), animal (0.99), dog breed (0.99), pet (0.97), outdoor (0.97), companion dog (0.91), small greek domestic dog (0.90), golden retriever (0.89), labrador retriever (0.87), puppy (0.87), ancient dog breeds (0.85), field (0.80), retriever (0.68), brown (0.66)

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

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

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

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

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

Используйте REST API службы "Анализ изображений" для анализа изображения на наличие тегов.

Совет

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

Примечание.

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

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

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

Анализ изображения с использованием пакета SDK API компьютерного зрения для C#

Чтобы проанализировать изображение на наличие разных визуальных признаков:

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

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Tags" -d "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
    
  2. При необходимости внесите следующие изменения в команду.

    1. Замените значение <subscriptionKey> собственным ключом.
    2. Замените первую часть URL-адреса запроса (westcentralus) текстом из URL-адреса своей конечной точки.

      Примечание.

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

    3. При необходимости замените URL-адрес изображения в тексте запроса (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) URL-адресом другого изображения для анализа.
  3. Откройте окно командной строки.

  4. Вставьте измененную curl команду из текстового редактора в окно командной строки и выполните команду.

Изучите ответ.

Успешный ответ будет возвращен в формате JSON. После этого запустится синтаксический анализ примера приложения и в окне командной строки отобразится успешный ответ, аналогичный следующему.

{{
   "tags":[
      {
         "name":"text",
         "confidence":0.9992657899856567
      },
      {
         "name":"post-it note",
         "confidence":0.9879657626152039
      },
      {
         "name":"handwriting",
         "confidence":0.9730165004730225
      },
      {
         "name":"rectangle",
         "confidence":0.8658561706542969
      },
      {
         "name":"paper product",
         "confidence":0.8561884760856628
      },
      {
         "name":"purple",
         "confidence":0.5961999297142029
      }
   ],
   "requestId":"2788adfc-8cfb-43a5-8fd6-b3a9ced35db2",
   "metadata":{
      "height":945,
      "width":1000,
      "format":"Jpeg"
   },
   "modelVersion":"2021-05-01"
}

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

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