public static void Example() { String photo = "input.jpg"; String bucket = "bucket"; AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = new Image() { S3Object = new S3Object() { Name = photo, Bucket = bucket }, }, MaxLabels = 10, MinConfidence = 75F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); Console.WriteLine("Detected labels for " + photo); foreach (Label label in detectLabelsResponse.Labels) { Console.WriteLine("{0}: {1}", label.Name, label.Confidence); } } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { List <string> filePaths = new List <string>(); filePaths.Add("CoupleWithDog.jpg"); filePaths.Add("HouseWithCar.jpg"); filePaths.Add("KidsPlayingOnstreet.jpg"); filePaths.Add("ManOnBike.jpg"); filePaths.Add("TwoDogsRunning.jpg"); filePaths.Add("building_pond.jpg"); filePaths.Add("chairs.jpg"); filePaths.Add("pond_people.jpg"); foreach (var photo in filePaths) { Image image = new Image(); try { using (FileStream fs = new FileStream(photo, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Failed to load file " + photo); } AmazonRekognitionClient client = new AmazonRekognitionClient(Amazon.RegionEndpoint.USEast1); DetectLabelsRequest request = new DetectLabelsRequest { Image = image, MinConfidence = 90f }; try { Console.WriteLine("Image : " + photo + "\n"); DetectLabelsResponse response = client.DetectLabels(request); foreach (Label label in response.Labels) { Console.WriteLine("\t{0} : {1}", label.Name, label.Confidence); } Console.WriteLine(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.ReadLine(); }
private void ImageForm_Load(object sender, EventArgs e) { // Load images var image = new Amazon.Rekognition.Model.Image(); try { using (var fs = new FileStream(imageUrl, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception) { MessageBox.Show("Không thể mở tệp " + imageUrl, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var rekognitionClient = new AmazonRekognitionClient(); var detectlabelsRequest = new DetectLabelsRequest() { Image = image, MaxLabels = 10, MinConfidence = 77F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); //MessageBox.Show("Detected labels for " + imageUrl); foreach (var label in detectLabelsResponse.Labels) { //MessageBox.Show(label.Name + " : " + label.Confidence); foreach (var item in label.Instances) { //MessageBox.Show("Left : " + item.BoundingBox.Left); boundingEnum.Add(new PositionClass( item.BoundingBox.Top * bmpHeight, item.BoundingBox.Left * bmpWidth, item.BoundingBox.Width * bmpWidth, item.BoundingBox.Height * bmpHeight) ); } } } catch (Exception) { MessageBox.Show("Không thể phân tích hình ảnh", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void FindObject() { Amazon.Rekognition.Model.Image image = new Amazon.Rekognition.Model.Image(); try { using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception) { Console.WriteLine("Failed to load file " + filePath); return; } AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = image, MaxLabels = 10, MinConfidence = 77F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); double width = imgPictureFrame.Width; double height = imgPictureFrame.Height; foreach (Label label in detectLabelsResponse.Labels) { List <Instance> instances = label.Instances; foreach (Instance instance in instances) { string data = $"{label.Name}: {Math.Round(instance.Confidence,2)}%"; BoundingBox boundingBox = instance.BoundingBox; BindingBox bindingBox = new BindingBox(width * boundingBox.Width, height * boundingBox.Height, height * boundingBox.Top, width * boundingBox.Left, data); gContainer.Children.Add(bindingBox); } } } catch (Exception e) { Console.WriteLine(e.Message); } }
public static DetectLabelsResponse GetInfo(string filePath) { String photo = filePath; Amazon.Rekognition.Model.Image image = new Amazon.Rekognition.Model.Image(); try { using (FileStream fs = new FileStream(photo, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception ex) { Console.WriteLine("Failed to load file " + photo); return(null); } AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = image, MaxLabels = 10, MinConfidence = 77F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); Console.WriteLine("Detected labels for " + photo); foreach (Label label in detectLabelsResponse.Labels) { Console.WriteLine("{0}: {1}", label.Name, label.Confidence); } return(detectLabelsResponse); } catch (Exception e) { Console.WriteLine(e.Message); } return(null); }
private string DetectObjects(MemoryStream memoryStream, out bool isDetectFace) { List <string> responseText = new List <string>(); string detectedResponse = ""; isDetectFace = false; try { var detectResponses = client.DetectLabels(new DetectLabelsRequest { MinConfidence = 80, Image = new Image { Bytes = memoryStream }, MaxLabels = 10 }); if (detectResponses != null && detectResponses.HttpStatusCode == HttpStatusCode.OK && detectResponses.Labels.Count > 0) { foreach (var item in detectResponses.Labels) { if (item.Name.Contains("Human") || item.Name.Contains("People") || item.Name.Contains("Person")) { isDetectFace = true; } else { responseText.Add(item.Name); } } if (responseText.Count > 0) { detectedResponse = "And you also seeing " + string.Join(", ", responseText.ToArray()); } } else { detectedResponse = "No objects Detected"; } } catch { detectedResponse = "No objects Detected"; } return(detectedResponse); }
static void Main(string[] args) { String bucket = ExtFunc.Read("\nAmazon S3 Bucket-Name with a picture:"); String photo = ExtFunc.Read("\nPicture Filename in Bucket:"); AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(Amazon.RegionEndpoint.USEast1); var analyzed_image = new Image() { S3Object = new Amazon.Rekognition.Model.S3Object() { Name = photo, Bucket = bucket }, }; DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = analyzed_image, MaxLabels = 10, MinConfidence = 75F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); Console.WriteLine("Detected labels for " + photo); foreach (Label label in detectLabelsResponse.Labels) { Console.WriteLine("{0}: {1}", label.Name, label.Confidence); } var tempUrl = GetS3Url(RegionEndpoint.USEast1, photo, bucket, 1); System.Diagnostics.Process.Start(tempUrl); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void RekognitionDetectLabels() { #region to-detect-labels-1481834255770 var client = new AmazonRekognitionClient(); var response = client.DetectLabels(new DetectLabelsRequest { Image = new Image { S3Object = new S3Object { Bucket = "mybucket", Name = "myphoto" } }, MaxLabels = 123, MinConfidence = 70 }); List <Label> labels = response.Labels; #endregion }
private Dictionary <string, float> GetLabels(MemoryStream image) { Dictionary <string, float> labels = new Dictionary <string, float>(); IAmazonRekognition reg = new AmazonRekognitionClient(ConfigurationManager.AppSettings["AWSAccessKey"], ConfigurationManager.AppSettings["AWSSecretKey"], RegionEndpoint.EUWest1); var lbreq = new DetectLabelsRequest() { Image = new Amazon.Rekognition.Model.Image { Bytes = image }, MaxLabels = 100, MinConfidence = 0 }; var tagRepo = reg.DetectLabels(lbreq); foreach (var item in tagRepo.Labels) { labels.Add(item.Name, item.Confidence); } return(labels); }
static void Main(string[] args) { const float MIN_CONFIDENCE = 90F; try { string[] imagesList = GetListOfImages(); if (imagesList == null || imagesList.Length == 0) { Console.WriteLine("No images found in the Images folder"); return; } // Constructs a SharedCredentialsFile object from the default credentials file. SharedCredentialsFile sharedCredentialsFile = new SharedCredentialsFile(); // Get the [default] profile from the credentials file. CredentialProfile defaultProfile = GetDefaultProfile(sharedCredentialsFile); if (defaultProfile != null) { // Get the credentials (access key, secret access key, etc.) AWSCredentials credentials = AWSCredentialsFactory.GetAWSCredentials(defaultProfile, new SharedCredentialsFile()); AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(credentials, RegionEndpoint.USEast1); CompareFacesRequest detectFacesRequest = new CompareFacesRequest() { SourceImage = GetImage(@"C:\Temp\TomCruise1.jpg"), TargetImage = GetImage(@"C:\Temp\TomCruise2.jpg") }; CompareFacesResponse response = rekognitionClient.CompareFaces(detectFacesRequest); List <CompareFacesMatch> list = response.FaceMatches; foreach (string filePath in imagesList) { Image image = GetImage(filePath); if (image == null) { continue; } DetectLabelsRequest detectLabelsRequest = new DetectLabelsRequest() { Image = image, MinConfidence = MIN_CONFIDENCE, }; DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectLabelsRequest); Console.WriteLine("Image: {0}\n", filePath); foreach (Label label in detectLabelsResponse.Labels) { Console.WriteLine("\t{0} ({1})", label.Name, label.Confidence); } Console.WriteLine(); } } else { Console.WriteLine("AWS [default] profile not found"); } } catch (AmazonRekognitionException ex) { Console.WriteLine("AWS Rekognition ERROR: {0}", ex.Message); } catch (Exception ex) { Console.WriteLine("ERROR: {0}", ex.Message); } Console.WriteLine("\nDONE"); Console.ReadLine(); }
private void Button_Click(object sender, RoutedEventArgs e) { Console.WriteLine("show"); string defaultURL = @"C:\Users\Admin\Desktop\121-1217434_transparent-crowd-of-people-png-people-walking-illustration.png"; String photo = txtURL.Text == string.Empty? defaultURL : txtURL.Text; Amazon.Rekognition.Model.Image image = new Amazon.Rekognition.Model.Image(); try { using (FileStream fs = new FileStream(photo, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception) { Console.WriteLine("Failed to load file " + photo); return; } AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = image, MaxLabels = 30, MinConfidence = 40F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); //Console.WriteLine("Label " + detectLabelsResponse.Labels); //int count = 0; foreach (Label label in detectLabelsResponse.Labels) { Console.WriteLine("{0}: {1}", label.Name, label.Confidence); if (label.Instances != null && label.Instances.Count > 0) { foreach (var item in label.Instances) { if (item.BoundingBox != null) { double width = item.BoundingBox.Width; double height = item.BoundingBox.Height; double left = item.BoundingBox.Left; double top = item.BoundingBox.Top; LayoutRoot.Children.Add(CreateARectangle(width * imageSource.Width, height * imageSource.Height, left * imageSource.Width, top * imageSource.Height)); //Console.WriteLine("Bouding box: " + item.BoundingBox.Top); } } } } } catch (Exception) { //Console.WriteLine(e.Message); } //LayoutRoot.Children.Add(CreateARectangle(0.5*300, 0.3*200, )); //LayoutRoot.Children.Add(CreateARectangle(0.1*300, 0.2*200)); }
private void btnLoad_Click(object sender, RoutedEventArgs e) { OpenFileDialog op = new OpenFileDialog(); op.Title = "Select a picture"; op.Filter = "All supported graphics|*.jpg;*.jpeg;*.png|" + "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" + "Portable Network Graphic (*.png)|*.png"; if (op.ShowDialog() == true) { imgPhoto.Source = new BitmapImage(new Uri(op.FileName)); } if (boundingBoxes.Children.Count != 0) { boundingBoxes.Children.Clear(); } var originalSize = GetOriginalImageSize(imgPhoto); String photo = imgPhoto.Source.ToString().Substring(8); Amazon.Rekognition.Model.Image image = new Amazon.Rekognition.Model.Image(); try { using (FileStream fs = new FileStream(photo, FileMode.Open, FileAccess.Read)) { byte[] data = null; data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); image.Bytes = new MemoryStream(data); } } catch (Exception) { Console.WriteLine("Failed to load file " + photo); return; } AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DetectLabelsRequest detectlabelsRequest = new DetectLabelsRequest() { Image = image, MaxLabels = 10, MinConfidence = 77F }; try { DetectLabelsResponse detectLabelsResponse = rekognitionClient.DetectLabels(detectlabelsRequest); foreach (Amazon.Rekognition.Model.Label label in detectLabelsResponse.Labels) { foreach (var instance in label.Instances) { var Left = instance.BoundingBox.Left; var Top = instance.BoundingBox.Top; var Width = instance.BoundingBox.Width; var Height = instance.BoundingBox.Height; var Name = label.Name; DrawBoundingBox(Left, Top, Width, Height, Name, originalSize.Width, originalSize.Height); } } } catch { } }