예제 #1
0
        public void DetectLabelsTest()
        {
            //Arrange
            var param = new DetectLabelParams()
            {
                BucketName    = "nvirginiadekanybucket",
                PhotoName     = "",
                PhotoVersion  = "1",
                MaxLabels     = 10,
                MinConfidence = 75F
            };

            //Act
            AmazonRekognition service = new AmazonRekognition(awsAccessKeyId, awsSecretAccessKey);
            var resp = service.DetectLabels(param);

            //Assert
        }
        public async Task <DetectLabelsResponse> DetectLabels(DetectLabelParams dlp)
        {
            var detectlabelsRequest = new DetectLabelsRequest()
            {
                Image = new Image()
                {
                    Bytes    = new MemoryStream(),
                    S3Object = new S3Object()
                    {
                        Bucket  = dlp.BucketName,
                        Name    = dlp.PhotoName,
                        Version = dlp.PhotoVersion
                    }
                },

                MinConfidence = dlp.MinConfidence,
                MaxLabels     = dlp.MaxLabels
            };

            Task <DetectLabelsResponse> detectLabelsResponse = null;

            try
            {
                using (AmazonRekognitionClient recognitionClient = new AmazonRekognitionClient())
                {
                    detectLabelsResponse = recognitionClient.DetectLabelsAsync(detectlabelsRequest);
                }

                Console.WriteLine("Detected labels for " + dlp.PhotoName);
                foreach (Label label in detectLabelsResponse.Result.Labels)
                {
                    Console.WriteLine("{0}: {1}", label.Name, label.Confidence);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return(await detectLabelsResponse ?? throw new Exception("response is null"));
        }