Анализ изображения с использованием пакета SDK API компьютерного зрения для C#
Чтобы проанализировать изображение, можно использовать метод REST Анализ изображений или эквивалентный метод в пакете SDK для предпочитаемого вами языка программирования, указав визуальные особенности, которые вы хотите включить в анализ (и, если выбрать категории, можно включить сведения о знаменитостях или достопримечательностях). Этот метод возвращает документ JSON, содержащий запрошенную информацию.
Примечание.
Определение знаменитостей потребует утверждения с помощью политики ограниченного доступа. Вы можете узнать больше о добавлении этой политики к стандарту Ответственного использования ИИ. Распознавание знаменитостей можно увидеть на некоторых снимках экрана, но оно не входит в задание.
using Azure.AI.Vision.ImageAnalysis;
ImageAnalysisClient client = new ImageAnalysisClient(
Environment.GetEnvironmentVariable("ENDPOINT"),
new AzureKeyCredential(Environment.GetEnvironmentVariable("KEY")));
ImageAnalysisResult result = client.Analyze(
new Uri("<url>"),
VisualFeatures.Caption | VisualFeatures.Read,
new ImageAnalysisOptions { GenderNeutralCaption = true });
from azure.ai.vision.imageanalysis import ImageAnalysisClient
from azure.ai.vision.imageanalysis.models import VisualFeatures
from azure.core.credentials import AzureKeyCredential
client = ImageAnalysisClient(
endpoint=os.environ["ENDPOINT"],
credential=AzureKeyCredential(os.environ["KEY"])
)
result = client.analyze(
image_url="<url>",
visual_features=[VisualFeatures.CAPTION, VisualFeatures.READ],
gender_neutral_caption=True,
language="en",
)
Доступные визуальные функции содержатся в VisualFeatures
перечислении:
- VisualFeatures.Tags: определяет теги о изображении, включая объекты, пейзажи, параметры и действия
- VisualFeatures.Objects: возвращает ограничивающее поле для каждого обнаруженного объекта.
- VisualFeatures.Caption: создает подпись изображения на естественном языке
- VisualFeatures.DenseCaptions: создает более подробные подпись для обнаруженных объектов
- VisualFeatures. Люди. Возвращает ограничивающий прямоугольник для обнаруженных людей
- VisualFeatures.SmartCrops: возвращает ограничивающий прямоугольник указанного пропорции для интересующей области
- VisualFeatures.Read: извлекает доступный для чтения текст
- VisualFeatures.TAGS: определяет теги изображения, включая объекты, пейзажи, параметры и действия
- VisualFeatures.OBJECTS: возвращает ограничивающее поле для каждого обнаруженного объекта.
- VisualFeatures.CAPTION: создает подпись изображения на естественном языке
- VisualFeatures.DENSE_CAPTIONS. Создает более подробные подпись для обнаруженных объектов
- VisualFeatures.PEOPLE: возвращает ограничивающий прямоугольник для обнаруженных людей
- VisualFeatures.SMART_CROPS. Возвращает ограничивающий прямоугольник указанного пропорции для интересующей области.
- VisualFeatures.READ: извлекает доступный для чтения текст
Указание визуальных функций, которые необходимо проанализировать на изображении, определяет, какие сведения будут содержать ответ. Большинство ответов будет содержать ограничивающий прямоугольник (если расположение в изображении разумно) или оценку достоверности (для таких функций, как теги или подпись).
Ответ JSON для анализа изображений выглядит примерно так, как в зависимости от запрошенных функций:
{
"apim-request-id": "abcde-1234-5678-9012-f1g2h3i4j5k6",
"modelVersion": "<version>",
"denseCaptionsResult": {
"values": [
{
"text": "a house in the woods",
"confidence": 0.7055229544639587,
"boundingBox": {
"x": 0,
"y": 0,
"w": 640,
"h": 640
}
},
{
"text": "a trailer with a door and windows",
"confidence": 0.6675070524215698,
"boundingBox": {
"x": 214,
"y": 434,
"w": 154,
"h": 108
}
}
]
},
"metadata": {
"width": 640,
"height": 640
}
}