Быстрый старт: Анализ изображений

Осторожно

Служба анализа изображений 4.0 в Azure Vision в инструментах Foundry устарела и будет прекращена 25 сентября 2028 года, после чего вызовы, сделанные в службу, будут завершаться сбоем. Мы рекомендуем перейти к одной из доступных альтернатив, описанных в руководстве по миграции.

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

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

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

Совет

Вы также можете проанализировать локальное изображение. См. методы ComputerVisionClient , такие как AnalyzeImageInStreamAsync. Кроме того, ознакомьтесь с примером кода GitHub для сценариев с использованием локальных образов.

Совет

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

Необходимые условия

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

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

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

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

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

  • Чтобы задать VISION_KEY переменную среды, замените <your_key> одним из ключей ресурса.
  • Чтобы задать переменную среды, замените VISION_ENDPOINT конечной точкой для вашего ресурса.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

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

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

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

Анализ изображения

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

    С помощью Visual Studio создайте новое приложение .NET Core.

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

    После создания нового проекта установите клиентскую библиотеку, щелкнув правой кнопкой мыши по решению в Обозреватель решений и выбрав Управление пакетами NuGet. В открытом диспетчере пакетов выберите Browse, проверьте Include prerelease и найдите 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://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg";
    
            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();
            }
        }
    }
    

    Важно

    Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

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

    Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

  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

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

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

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

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

Совет

Вы также можете проанализировать локальное изображение. См. методы ComputerVisionClientOperationsMixin , например analyze_image_in_stream. Кроме того, см. пример кода на GitHub для сценариев с использованием локальных образов.

Совет

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

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

Необходимые условия

  • Подписка Azure. Вы можете создать его бесплатно.
  • Python 3.x.
    • Установка Python должна содержать pip. Вы можете проверить, установлен ли pip, выполнив команду pip --version в командной строке. Получите pip, установив последнюю версию Python.
  • После получения подписки Azure создайте ресурс Компьютерное зрение на портале Azure, чтобы получить ключ и конечную точку. После развертывания выберите "Перейти к ресурсу".
    • Вам нужен ключ и конечная точка из создаваемого вами ресурса для подключения вашего приложения к Azure Vision с помощью инструментов Foundry.
    • Вы можете использовать бесплатный тарифный план (F0), чтобы попробовать службу, а затем перейти на платный план для рабочих нужд.

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

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

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

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

  • Чтобы задать VISION_KEY переменную среды, замените <your_key> одним из ключей ресурса.
  • Чтобы задать переменную среды, замените VISION_ENDPOINT конечной точкой для вашего ресурса.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

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

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

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 в текстовом редакторе или интегрированной среде разработки и вставьте следующий код.

    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 команды в файле быстрого запуска.

    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 Vision quickstart.

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

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

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

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

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

Совет

Вы также можете проанализировать локальное изображение. См. такие методы ComputerVision , как AnalyzeImage. Кроме того, см. пример кода на GitHub для сценариев с использованием локальных образов.

Совет

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

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

Необходимые условия

  • Подписка Azure. Вы можете создать его бесплатно.
  • Текущая версия пакета средств разработки Java (JDK).
  • Средство сборки Gradle или другой диспетчер зависимостей.
  • После получения подписки Azure создайте ресурс Компьютерное зрение на портале Azure, чтобы получить ключ и конечную точку. После развертывания выберите "Перейти к ресурсу".
    • Вам потребуются ключ и адрес конечной точки из создаваемого ресурса для подключения вашего приложения к Azure Vision в инструментах Foundry.
    • Вы можете использовать бесплатный тарифный план (F0), чтобы попробовать службу, а затем перейти на платный план для рабочих нужд.

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

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

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

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

  • Чтобы задать VISION_KEY переменную среды, замените <your_key> одним из ключей ресурса.
  • Чтобы задать переменную среды, замените VISION_ENDPOINT конечной точкой для вашего ресурса.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

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

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

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
    

    При появлении запроса на выбор DSL выберите 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 в предпочитаемом редакторе или интегрированной среде разработки и вставьте следующий код.

    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
    

Выход

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

Azure 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

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

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

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

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

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

Совет

Вы также можете проанализировать локальное изображение. См. такие методы ComputerVisionClient , как describeImageInStream. Кроме того, см. пример кода на GitHub для сценариев с использованием локальных образов.

Совет

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

Справочная документация | Пакет (npm) | Образцы

Необходимые условия

  • Подписка Azure. Вы можете создать его бесплатно.
  • Текущая версия Node.js.
  • После получения подписки Azure создайте ресурс Компьютерное зрение на портале Azure, чтобы получить ключ и конечную точку. После развертывания выберите "Перейти к ресурсу".
    • Вам нужен ключ и конечная точка из создаваемого вами ресурса для подключения вашего приложения к Azure Vision с помощью инструментов Foundry.
    • Вы можете использовать бесплатный тарифный план (F0), чтобы попробовать службу, а затем перейти на платный план для рабочих нужд.

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

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

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

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

  • Чтобы задать VISION_KEY переменную среды, замените <your_key> одним из ключей ресурса.
  • Чтобы задать переменную среды, замените VISION_ENDPOINT конечной точкой для вашего ресурса.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

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

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

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

Анализ изображения

  1. Создание нового приложения Node.js

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

    mkdir myapp && cd myapp
    

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

    npm init
    

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

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

    npm install @azure/cognitiveservices-computervision
    

    Также установите асинхронный модуль:

    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://github.com/Azure-Samples/cognitive-services-sample-data-files/blob/master/ComputerVision/Images/house.jpg';
    
          // 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 в вашем файле быстрого запуска.

    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.

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

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

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

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

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

Совет

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

Примечание

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

Необходимые условия

  • Подписка Azure. Вы можете создать его бесплатно.
  • После получения подписки Azure создайте ресурс Компьютерное зрение на портале Azure, чтобы получить ключ и конечную точку. После развертывания выберите "Перейти к ресурсу".
    • Вам нужен ключ и конечная точка из создаваемого вами ресурса для подключения вашего приложения к Azure Vision с помощью инструментов Foundry.
    • Вы можете использовать бесплатный тарифный план (F0), чтобы попробовать службу, а затем перейти на платный план для рабочих нужд.
  • установлен cURL.

Анализ изображения

Чтобы проанализировать изображение для различных визуальных функций, сделайте следующее:

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

    curl.exe -H "Ocp-Apim-Subscription-Key: <yourKey>" -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. Замените значение <yourKey> ключом из ресурса Компьютерное зрение.
    2. Замените первую часть URL-адреса запроса (westcentralus.api.cognitive.microsoft.com) собственным URL-адресом конечной точки.

      Примечание

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

    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 анализа изображений.