Я пытаюсь использовать функцию Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction, отправляя изображение с помощью кросс-медиа медиатора и получая результат предсказания. Я попытался передать изображение в виде URL или потока и получить плохой запрос. Я знаю, что у меня есть правильный ключ предсказания и конечная точка, потому что я работаю для обучения, говоря мне, как я передаю изображение в метод. Как правильно преобразовать изображение из фотопакета Cross Media pick в
private async void UplodatePictureButton_Clicked(object sender, EventArgs e)
{
await CrossMedia.Current.Initialize();
MediaFile file;
if (!CrossMedia.Current.IsPickPhotoSupported)
{
await DisplayAlert("No upload", "Picking a photo is not supported", "OK");
return;
}
file = await CrossMedia.Current.PickPhotoAsync();
if (file == null)
{
return;
}
MainImage.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
return stream;
});
// Create the Api, passing in the training key
CustomVisionTrainingClient trainingApi = new CustomVisionTrainingClient()
{
ApiKey = trainingKey,
Endpoint = SouthCentralUsEndpointTraining
};
var projects = trainingApi.GetProjects();
var project = projects.FirstOrDefault(p => p.Name == "Car");
CustomVisionPredictionClient endpoint = new CustomVisionPredictionClient()
{
ApiKey = predictionKey,
Endpoint = SouthCentralUsEndpointPrediction
};
var result = endpoint.ClassifyImageUrl(project.Id, project.Name, new Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models.ImageUrl(file.Path));
foreach (var c in result.Predictions)
{
Console.WriteLine($"\t{c.TagName}: {c.Probability:P1}");
}
}
Необработанное исключение:
Microsoft.Azure.CognitiveService.Vision.CustomerVision.Prediction.Models.CustomVisionErrorException: операция вернула недопустимый код состояния «BadRequest»
Ожидайте прогноз.
Вот изображение кода:
код
Вот картина проблемы:
проблема