public ObjectDetectionController(IOnnxModelScorer modelScorer, ILogger <ObjectDetectionController> logger, IImageFileWriter imageWriter) //When using DI/IoC (IImageFileWriter imageWriter) { //Get injected dependencies _modelScorer = modelScorer; _logger = logger; _imageWriter = imageWriter; _imagesTmpFolder = ModelHelpers.GetAbsolutePath(@"../../../ImagesTemp"); }
public string Get([FromQuery] string url) { string imageFileRelativePath = @"../../../" + url; string imageFilePath = ModelHelpers.GetAbsolutePath(imageFileRelativePath); var img = Path.GetFullPath(imageFilePath); var prediction = _modelScorer.GetPredictions(img); string score = prediction.Score.Max().ToString("p"); string response = $"{prediction.PredictedLabelValue.ToString()} with {score} confidence"; return(response); }
public IActionResult Get([FromQuery] string url) { string imageFileRelativePath = @"../../.." + url; string imageFilePath = ModelHelpers.GetAbsolutePath(imageFileRelativePath); try { //Detect the objects in the image var result = DetectAndPaintImage(imageFilePath); return(Ok(result)); } catch (Exception e) { _logger.LogInformation("Error is: " + e.Message); return(BadRequest()); } }
public Result Get([FromQuery] string url) { string imageFileRelativePath = @"../../.." + url; string imageFilePath = ModelHelpers.GetAbsolutePath(imageFileRelativePath); var watch = System.Diagnostics.Stopwatch.StartNew(); //Predict the objects in the image var objectsNames = _modelScorer.DetectObjectsUsingModel(imageFilePath); var img = _modelScorer.PaintImages(imageFilePath); using (MemoryStream m = new MemoryStream()) { img.Save(m, img.RawFormat); byte[] imageBytes = m.ToArray(); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(imageBytes); return(new Result { imageString = base64String }); } }