Краткое руководство. Анализ изображений
В этой статье объясняется, как настроить базовый скрипт тегов изображений с помощью REST API анализа изображений или клиентских библиотек. Служба анализа изображений предоставляет алгоритмы ИИ для обработки изображений и возврата сведений об их визуальных функциях. Выполните приведенные здесь действия, чтобы установить пакет SDK для приложения и протестировать пример кода.
Используйте клиентскую библиотеку анализа изображений для C#, чтобы проанализировать изображение на наличие тегов содержимого. В этом кратком руководстве определяется метод AnalyzeImageUrl
, который использует клиентский объект для анализа удаленного изображения и вывода результатов.
Справочная документация | Исходный код библиотеки | Пакет (NuGet) | Примеры
Совет
Можно также проанализировать локальный образ. Изучите информацию о методах класса ComputerVisionClient, например об AnalyzeImageInStreamAsync. Либо просмотрите пример кода на GitHub для сценариев, включающих использование локальных изображений.
Совет
API анализа изображений может выполнять множество операций, отличных от создания тегов изображений. Примеры, демонстрирующие все доступные функции, см. в статье Руководство по анализу изображений.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- IDE Visual Studio или текущая версия .NET Core.
- После получения подписки Azure создайте ресурс Компьютерное зрение в портал Azure, чтобы получить ключ и конечную точку. После развертывания ресурса выберите элемент Перейти к ресурсу.
- Вам потребуется ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе визуального распознавания искусственного интеллекта Azure.
- Используйте бесплатную ценовую категорию (
F0
), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.
Создание переменной среды
В этом примере напишите учетные данные в переменные среды на локальном компьютере, на котором выполняется приложение.
Перейдите на портал Azure. Если ресурс, созданный в разделе "Предварительные требования ", развернут успешно, выберите "Перейти к ресурсу " в разделе "Дальнейшие действия". Вы можете найти ключ и конечную точку в разделе "Управление ресурсами" на странице "Ключи" и " Конечная точка ". Ключ ресурса не совпадает с идентификатором подписки Azure.
Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.
- Чтобы задать
VISION_KEY
переменную среды, замените<your_key>
одним из ключей ресурса. - Чтобы задать переменную среды, замените
<your_endpoint>
конечнойVISION_ENDPOINT
точкой ресурса.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.
Проанализировать изображение
Создайте приложение C#.
С помощью Visual Studio создайте приложение .NET Core.
Установка клиентской библиотеки
После создания проекта установите клиентская библиотека, щелкнув правой кнопкой мыши решение проекта в Обозреватель решений и выбрав "Управление пакетами NuGet". В открывшемся диспетчере пакетов выберите Просмотр, установите флажок Включить предварительные версии и выполните поиск по запросу
Microsoft.Azure.CognitiveServices.Vision.ComputerVision
. Выберите версию7.0.0
, а затем Установить.В каталоге проекта откройте файл 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(); } } }
Внимание
Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".
Выполнение приложения
Запустите приложение, нажав кнопку Отладка в верхней части окна интегрированной среды разработки.
Выходные данные
Выходные данные операции должны выглядеть следующим образом.
----------------------------------------------------------
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.
- Установка Python должна включать pip. Чтобы проверить, установлен ли pip, выполните команду
- После получения подписки Azure создайте ресурс Компьютерное зрение в портал Azure, чтобы получить ключ и конечную точку. После развертывания ресурса выберите элемент Перейти к ресурсу.
- Вам потребуется ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе визуального распознавания искусственного интеллекта Azure.
- Используйте бесплатную ценовую категорию (
F0
), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.
Создание переменной среды
В этом примере напишите учетные данные в переменные среды на локальном компьютере, на котором выполняется приложение.
Перейдите на портал Azure. Если ресурс, созданный в разделе "Предварительные требования ", развернут успешно, выберите "Перейти к ресурсу " в разделе "Дальнейшие действия". Вы можете найти ключ и конечную точку в разделе "Управление ресурсами" на странице "Ключи" и " Конечная точка ". Ключ ресурса не совпадает с идентификатором подписки Azure.
Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.
- Чтобы задать
VISION_KEY
переменную среды, замените<your_key>
одним из ключей ресурса. - Чтобы задать переменную среды, замените
<your_endpoint>
конечнойVISION_ENDPOINT
точкой ресурса.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.
Проанализировать изображение
Установите клиентскую библиотеку.
Клиентскую библиотеку можно установить с помощью следующей команды:
pip install --upgrade azure-cognitiveservices-vision-computervision
Также установите библиотеку Pillow.
pip install pillow
Создайте приложение Python.
Создайте файл Python. Например, его можно назвать quickstart-file.py.
Откройте 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.")
Запустите приложение с помощью
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 AI Vision quickstart.
Очистка ресурсов
Если вы хотите очистить и удалить подписку на службы искусственного интеллекта Azure, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующий шаг
Из этого краткого руководства вы узнали, как установить клиентскую библиотеку анализа изображений и выполнить базовые вызовы анализа изображений. Далее узнайте больше о функциях API анализа изображений.
Используйте клиентская библиотека анализа изображений для Java для анализа удаленного изображения для тегов, текстового описания, лиц, содержимого для взрослых и многое другое.
Совет
Можно также проанализировать локальный образ. См. такие методы ComputerVision, какAnalyzeImage
. Либо просмотрите пример кода на GitHub для сценариев, включающих использование локальных изображений.
Совет
API анализа изображений может выполнять множество операций, отличных от создания тегов изображений. Примеры, демонстрирующие все доступные функции, см. в статье Руководство по анализу изображений.
Справочная документация | Исходный код библиотеки |Артефакт (Maven) | Примеры
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Текущая версия пакета средств разработки Java (JDK).
- Средство сборки Gradle или другой диспетчер зависимостей.
- После получения подписки Azure создайте ресурс Компьютерное зрение в портал Azure, чтобы получить ключ и конечную точку. После развертывания ресурса выберите элемент Перейти к ресурсу.
- Вам потребуется ключ и конечная точка из ресурса, создаваемого для подключения приложения к службе визуального распознавания искусственного интеллекта Azure.
- Используйте бесплатную ценовую категорию (
F0
), чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.
Создание переменной среды
В этом примере напишите учетные данные в переменные среды на локальном компьютере, на котором выполняется приложение.
Перейдите на портал Azure. Если ресурс, созданный в разделе "Предварительные требования ", развернут успешно, выберите "Перейти к ресурсу " в разделе "Дальнейшие действия". Вы можете найти ключ и конечную точку в разделе "Управление ресурсами" на странице "Ключи" и " Конечная точка ". Ключ ресурса не совпадает с идентификатором подписки Azure.
Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.
- Чтобы задать
VISION_KEY
переменную среды, замените<your_key>
одним из ключей ресурса. - Чтобы задать переменную среды, замените
<your_endpoint>
конечнойVISION_ENDPOINT
точкой ресурса.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.
Проанализировать изображение
Создайте проект Gradle.
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.
mkdir myapp && cd myapp
Выполните команду
gradle init
из рабочей папки. Эта команда создает основные файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.gradle init --type basic
Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.
Установите клиентскую библиотеку.
В этом кратком руководстве используется диспетчер зависимостей 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") }
Создайте файл Java.
В рабочей папке выполните следующую команду, чтобы создать исходную папку проекта.
mkdir -p src/main/java
Перейдите в новую папку и создайте файл с именем ImageAnalysisQuickstart.java.
Откройте 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. }
Вернитесь к корневой папке проекта, а затем создайте приложение с помощью:
gradle build
Запустите его с помощью следующей команды:
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.
Чтобы задать переменную среды для ключа и конечной точки, откройте окно консоли и следуйте инструкциям для операционной системы и среды разработки.
- Чтобы задать
VISION_KEY
переменную среды, замените<your_key>
одним из ключей ресурса. - Чтобы задать переменную среды, замените
<your_endpoint>
конечнойVISION_ENDPOINT
точкой ресурса.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>
После добавления переменных среды может потребоваться перезапустить все запущенные программы, которые будут считывать переменные среды, включая окно консоли.
Проанализировать изображение
Создание нового приложения 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.
Откройте 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();
Запустите приложение, выполнив команду
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#
Чтобы проанализировать изображение на наличие разных визуальных признаков:
Скопируйте приведенную ниже команду в текстовый редактор.
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'}"
При необходимости внесите следующие изменения в команду.
- Замените значение
<yourKey>
ключа из ресурса Компьютерное зрение. - Замените первую часть URL-адреса запроса (
westcentralus.api.cognitive.microsoft.com
) собственным URL-адресом конечной точки.Примечание.
Новые ресурсы, созданные после 1 июля 2019 г., будут использовать пользовательские имена поддоменов. Дополнительные сведения и полный список региональных конечных точек см. в разделе "Пользовательские имена поддомена" для служб ИИ Azure.
- При необходимости замените URL-адрес изображения в тексте запроса (
https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png
) URL-адресом другого изображения для анализа.
- Замените значение
Откройте окно командной строки.
Вставьте измененную
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 анализа изображений.