예제 #1
0
        public JsonResult Create([FromForm] string apiKey, string name, IFormCollection files)
        {
            try
            {
                List <VisualRecognitionClassifierPositiveClass> positiveExamples = new List <VisualRecognitionClassifierPositiveClass>();
                VisualRecognitionClassifierNegativeClass        negativeExamples = null;

                foreach (var file in files.Files)
                {
                    if (file.Name == "files[negative]")
                    {
                        negativeExamples = new VisualRecognitionClassifierNegativeClass(file.OpenReadStream(), file.FileName);
                    }
                    else
                    {
                        var className = Regex.Match(file.Name, @"files\[([a-zA-Z]+)*\]").Groups[1].Value;
                        positiveExamples.Add(new VisualRecognitionClassifierPositiveClass(className, file.OpenReadStream(), file.FileName));
                    }
                }


                var client   = new VisualRecognitionClient(apiKey);
                var response = client.CreateClassifier(new VisualRecognitionClassifierCreate(name)
                {
                    NegativeExample  = negativeExamples,
                    PositiveExamples = positiveExamples
                });
                return(Json(response));
            }
            catch (Exception exc)
            {
                return(JsonError(exc));
            }
        }
예제 #2
0
 public JsonResult Url([FromBody] ClassifyUrlRequestViewModel model)
 {
     try
     {
         var client   = new VisualRecognitionClient(model.ApiKey);
         var response = client.FaceDetectionUrl(model.Url);
         return(Json(response));
     }
     catch (Exception exc)
     {
         return(JsonError(exc));
     }
 }
예제 #3
0
 public JsonResult Delete(string apiKey, string classifierId)
 {
     try
     {
         var client = new VisualRecognitionClient(apiKey);
         client.DeleteClassifier(classifierId);
         return(Json("OK"));
     }
     catch (Exception exc)
     {
         return(JsonError(exc));
     }
 }
예제 #4
0
 public JsonResult List(string apiKey)
 {
     try
     {
         var client = new VisualRecognitionClient(apiKey);
         var data   = client.ListClassifiers();
         return(Json(data));
     }
     catch (Exception exc)
     {
         return(JsonError(exc));
     }
 }
예제 #5
0
 public JsonResult File([FromForm] string apiKey, IFormFile file)
 {
     try
     {
         var client = new VisualRecognitionClient(apiKey);
         using (var stream = file.OpenReadStream())
         {
             var response = client.FaceDetectionFile(stream, file.FileName);
             return(Json(response));
         }
     }
     catch (Exception exc)
     {
         return(JsonError(exc));
     }
 }
예제 #6
0
        public JsonResult ClassifyUrl([FromBody] ClassifyUrlRequestViewModel model)
        {
            try
            {
                var client  = new VisualRecognitionClient(model.ApiKey);
                var request = new VisualRecognitionClassifyUrl(model.Url)
                {
                    Classifiers = model.Classifiers,
                    Owners      = model.Owners,
                    Threshold   = model.Threshold
                };

                var response = client.ClassifyImageUrl(request);
                return(Json(response));
            }
            catch (Exception exc)
            {
                return(JsonError(exc));
            }
        }
예제 #7
0
        public JsonResult ClassifyFile([FromForm] string apiKey, string[] classifiers, string[] owners, double?threshold, IFormFile file)
        {
            try
            {
                var client = new VisualRecognitionClient(apiKey);
                using (var stream = file.OpenReadStream())
                {
                    var request = new VisualRecognitionClassifyRequestFile(stream, file.FileName)
                    {
                        Classifiers = classifiers,
                        Owners      = owners,
                        Threshold   = threshold
                    };

                    var response = client.ClassifyImageFile(request);
                    return(Json(response));
                }
            }
            catch (Exception exc)
            {
                return(JsonError(exc));
            }
        }