コード例 #1
0
 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");
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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());
            }
        }
コード例 #4
0
        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
                });
            }
        }