Не удается преобразовать в тип ‘system.collections.generic.Я перечисляю’

#azure #computer-vision #azure-cognitive-services

#azure #компьютерное зрение #azure-cognitive-services

Вопрос:

Я пытаюсь использовать компьютерное зрение.NET SDK для вызова Azure Cognitive Computer Vision Service API для анализа изображения.

Мой код приведен ниже:

 List<VisualFeatureTypes> features1 = new List<VisualFeatureTypes>()
{
    VisualFeatureTypes.Categories, VisualFeatureTypes.Description,
    VisualFeatureTypes.Faces, VisualFeatureTypes.ImageType,
    VisualFeatureTypes.Tags, VisualFeatureTypes.Adult,
    VisualFeatureTypes.Color, VisualFeatureTypes.Brands,
    VisualFeatureTypes.Objects
};

ComputerVisionClient client =
    new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
    { Endpoint = endpoint};
ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, features1);
  

Я получаю следующее сообщение об ошибке:

не удается преобразовать тип ‘system.collections.generic.List<microsoft.azure.cognitiveservices.vision.computervision.models.visualfeaturetypes> » ввести «system.collections.generic.Я перечисляю <microsoft.azure.cognitiveservices.vision.computervision.models.visualfeaturetypes?>’.

скриншот для справки

Есть идеи, как это решить?

Комментарии:

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

Ответ №1:

Вот пример для computer vision SDK для анализа изображения с помощью computer vision.

 public static async Task<ImageAnalysis> AnalyzeImageAsync(this IComputerVisionClient operations, string url, IList<VisualFeatureTypes?> visualFeatures = default(IList<VisualFeatureTypes?>), IList<Details?> details = default(IList<Details?>), string language = default(string), IList<DescriptionExclude?> descriptionExclude = default(IList<DescriptionExclude?>), CancellationToken cancellationToken = default(CancellationToken))
            {
                using (var _result = await operations.AnalyzeImageWithHttpMessagesAsync(url, visualFeatures, details, language, descriptionExclude, null, cancellationToken).ConfigureAwait(false))
                {
                    return _result.Body;
                }
            }
  

Ответ №2:

У меня была такая же проблема с приведением к нулевому типу. Кажется, это работает:

 IList<VisualFeatureTypes?> visualFeatures = new List<VisualFeatureTypes?>();
            visualFeatures.Add(VisualFeatureTypes.Description);
            visualFeatures.Add(VisualFeatureTypes.Categories);
            visualFeatures.Add(VisualFeatureTypes.Tags);
            visualFeatures.Add(VisualFeatureTypes.Faces);
            visualFeatures.Add(VisualFeatureTypes.Brands);
            visualFeatures.Add(VisualFeatureTypes.Objects);
            visualFeatures.Add(VisualFeatureTypes.ImageType);

            return vision.AnalyzeImageInStreamAsync(imageStream, visualFeatures).GetAwaiter().GetResult();