public IEnumerable <Rectangle> ExtractFaces()
        {
            if (_facesResponse == null)
            {
                var facesRequest = new DetectFacesRequest()
                {
                    Image = _rekognitionImage
                };
                _facesResponse = _client.DetectFacesAsync(facesRequest).Result;
            }

            return(_facesResponse.FaceDetails.Select(f =>
                                                     AmazonRekognitionCoordinateTranslator.RelativeBoxToAbsolute(f.BoundingBox, _width, _height)));
        }
        public IEnumerable <Rectangle> ExtractText()
        {
            if (_textResponse == null)
            {
                var textRequest = new DetectTextRequest()
                {
                    Image = _rekognitionImage
                };
                _textResponse = _client.DetectTextAsync(textRequest).Result;
            }

            return(_textResponse.TextDetections.Select(t => t.Geometry.Polygon)
                   .Select(p => AmazonRekognitionCoordinateTranslator.RelativePolygonToAbsolute(p, _width,
                                                                                                _height)));
        }
        public IEnumerable <Rectangle> ExtractLicensePlates()
        {
            if (_objectsResponse == null)
            {
                var objectsRequest = new DetectLabelsRequest()
                {
                    Image = _rekognitionImage
                };
                _objectsResponse = _client.DetectLabelsAsync(objectsRequest).Result;
            }

            return(_objectsResponse.Labels.Where(l => l.Name == "License Plate")
                   .SelectMany(l => l.Instances).Select(i =>
                                                        AmazonRekognitionCoordinateTranslator.RelativeBoxToAbsolute(i.BoundingBox, _width,
                                                                                                                    _height)));
        }