// Analyze a local image public async Task <PictureAnalisysReturn> AnalyzeLocalAsync(string imagePath, List <VisualFeatureTypes> features) { var response = new PictureAnalisysReturn(); if (!File.Exists(imagePath)) { response.Message = string.Format("Não é possível abrir ou ler o arquivo {0}", imagePath); return(response); } using (Stream imageStream = File.OpenRead(imagePath)) { ImageAnalysis analysis = await _computerVision.AnalyzeImageInStreamAsync(imageStream, features); response.FileName = imagePath; response.Analysis = analysis; return(response); } }
// Analyze a remote image public async Task <PictureAnalisysReturn> AnalyzeRemoteAsync(string imageUrl, List <VisualFeatureTypes> features) { try { var response = new PictureAnalisysReturn(); if (!Uri.IsWellFormedUriString(imageUrl, UriKind.Absolute)) { response.Message = string.Format("Endereço remoto inválido: {0} ", imageUrl); return(response); } ImageAnalysis analysis = await _computerVision.AnalyzeImageAsync(imageUrl, features); response.Analysis = analysis; return(response); } catch (Exception error) { throw; } }