public async Task <ActionResult <ImageClassificationResponseDTO> > Classify(ImageClassificationRequestDTO request) { var service = new GoogleService(); var classificationService = new ClassificationService(); ImageRecognitionRequestDTO dto = new ImageRecognitionRequestDTO(new Image(request.Base64)); dto.Features.Add(new Feature("LABEL_DETECTION")); dto.Features.Add(new Feature("IMAGE_PROPERTIES")); var requestDto = new GoogleVisionRequest(); requestDto.Requests.Add(dto); var visionDto = await service.GetGoogleVisionResponseAsync(requestDto); return(classificationService.ConvertToClassificationDto(visionDto)); }
public async Task <GoogleVisionResponse> GetGoogleVisionResponseAsync(GoogleVisionRequest dto) { using (var client = new HttpClient()) { const string key = "AIzaSyBf6l9N5cvfsr4NsOU-SSkXOlHiyYVs6_o"; var url = $"https://vision.googleapis.com/v1/images:annotate?key={key}"; var serializerSettings = new JsonSerializerSettings(); serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var httpContent = new StringContent(JsonConvert.SerializeObject(dto, serializerSettings)); var response = await client.PostAsync(url, httpContent); var jsonResponse = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <GoogleVisionResponse>(jsonResponse)); } }