예제 #1
0
        public static string Collection(string collectionId)
        {
            try
            {
                var rekognitionClient = new AmazonRekognitionClient(RegionEndpoint.APSouth1);


                Console.WriteLine("Creating collection: " + collectionId);

                var createCollectionRequest = new CreateCollectionRequest()
                {
                    CollectionId = collectionId
                };

                int limit = 10;

                ListCollectionsResponse listCollectionsResponse = null;
                String paginationToken = null;

                if (listCollectionsResponse != null)
                {
                    paginationToken = listCollectionsResponse.NextToken;
                }

                ListCollectionsRequest listCollectionsRequest = new ListCollectionsRequest()
                {
                    MaxResults = limit,
                    NextToken  = paginationToken
                };

                listCollectionsResponse = rekognitionClient.ListCollectionsAsync(listCollectionsRequest).Result;

                foreach (var resultId in listCollectionsResponse.CollectionIds)
                {
                    if (resultId == collectionId)
                    {
                        return("OK");
                    }
                    else
                    {
                        var createCollectionResponse =
                            rekognitionClient.CreateCollectionAsync(createCollectionRequest);
                        Console.WriteLine("CollectionArn : " + createCollectionResponse.Result.CollectionArn);
                        if (createCollectionResponse.Result.StatusCode == 200)
                        {
                            return("OK");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception occurred" + ex);
                return("");
            }


            return("");
        }
예제 #2
0
    public async Task ExecuteAsync()
    {
        var credentials  = new BasicAWSCredentials(this.options.AccessKey, this.options.SecretKey);
        var clientConfig = new AmazonRekognitionConfig
        {
            RegionEndpoint          = this.options.Region,
            AllowAutoRedirect       = true,
            DisableLogging          = true,
            MaxConnectionsPerServer = null,
            LogMetrics           = false,
            LogResponse          = false,
            UseDualstackEndpoint = false,
        };

        clientConfig.Validate();

        using var client = new AmazonRekognitionClient(credentials, clientConfig);

        try
        {
            await client.DescribeCollectionAsync(
                new DescribeCollectionRequest { CollectionId = this.options.CollectionID }).ConfigureAwait(false);
        }
        catch (ResourceNotFoundException)
        {
            await client.CreateCollectionAsync(
                new CreateCollectionRequest { CollectionId = this.options.CollectionID }).ConfigureAwait(false);
        }

        var files = this.options.Directory.EnumerateFiles(this.options.Pattern, enumerationOptions);

        // Output CSV data:
        Console.WriteLine("FileName,FaceID");

        foreach (FileInfo file in files)
        {
            using var stream = new DecoyMemoryStream(file.OpenRead(), leaveOpen: false);

            var result = await client.IndexFacesAsync(new IndexFacesRequest
            {
                CollectionId        = this.options.CollectionID,
                DetectionAttributes = detectionAttributes,
                MaxFaces            = 1,
                QualityFilter       = QualityFilter.AUTO,
                Image = new Image {
                    Bytes = stream
                }
            }).ConfigureAwait(false);

            if (result.FaceRecords != null && result.FaceRecords.Count > 0)
            {
                Console.WriteLine("{0},{1}", file.Name, result.FaceRecords[0].Face.FaceId);
            }
            else
            {
                Console.WriteLine("{0},{1}", file.Name, "NotDetected");
            }
        }
    }
예제 #3
0
        public async Task Rekognize()
        {
            var newRegion = RegionEndpoint.GetBySystemName("us-east-1");

            using (var rekClient = new AmazonRekognitionClient(newRegion))
            {
                //Amazon.Rekognition.Model.DetectFacesRequest
                string collection_id = "test";

                CreateCollectionRequest request = new CreateCollectionRequest()
                {
                    CollectionId = collection_id
                };

                CreateCollectionResponse response = await rekClient.CreateCollectionAsync(request);

                KinesisVideoStream VidStream = new KinesisVideoStream()
                {
                    Arn = "arn:aws:kinesisvideo:us-east-1:229551089657:stream/myVideoStream/1525622803413"
                };

                StreamProcessorInput SPInput = new StreamProcessorInput()
                {
                    KinesisVideoStream = VidStream
                };
                KinesisDataStream DataStream = new KinesisDataStream()
                {
                    Arn = "arn:aws:kinesis:us-east-1:229551089657:stream/myDataStream"
                };
                StreamProcessorOutput output = new StreamProcessorOutput()
                {
                    KinesisDataStream = DataStream
                };
                FaceSearchSettings faceSearchSettings = new FaceSearchSettings()
                {
                    CollectionId       = collection_id,
                    FaceMatchThreshold = 10
                };
                StreamProcessorSettings spSettings = new StreamProcessorSettings()
                {
                    FaceSearch = faceSearchSettings
                };

                CreateStreamProcessorResponse final_resp = await rekClient.CreateStreamProcessorAsync(new CreateStreamProcessorRequest()
                {
                    Input    = SPInput,
                    RoleArn  = "arn:aws:iam::229551089657:role/RekRole2",
                    Output   = output,
                    Settings = spSettings,
                    Name     = "CrazyDemo1"
                });



                string why = final_resp.StreamProcessorArn;
            }
        }
예제 #4
0
        private async Task <int> CreateCollection(AmazonRekognitionClient rekognitionClient, String collectionId)
        {
            CreateCollectionRequest createCollectionRequest = new CreateCollectionRequest()
            {
                CollectionId = collectionId
            };

            CreateCollectionResponse createCollectionResponse = await rekognitionClient.CreateCollectionAsync(createCollectionRequest);

            return(createCollectionResponse.StatusCode);
        }
예제 #5
0
        // snippet-start:[Rekognition.dotnetv3.CreateCollectionExample]
        public static async Task Main()
        {
            var rekognitionClient = new AmazonRekognitionClient();

            string collectionId = "MyCollection";

            Console.WriteLine("Creating collection: " + collectionId);

            var createCollectionRequest = new CreateCollectionRequest
            {
                CollectionId = collectionId,
            };

            CreateCollectionResponse createCollectionResponse = await rekognitionClient.CreateCollectionAsync(createCollectionRequest);

            Console.WriteLine($"CollectionArn : {createCollectionResponse.CollectionArn}");
            Console.WriteLine($"Status code : {createCollectionResponse.StatusCode}");
        }
        public static void Example()
        {
            var rekognitionClient = new AmazonRekognitionClient(RegionEndpoint.APSouth1);

            var collectionId = "BhavCollection";

            Console.WriteLine("Creating collection: " + collectionId);

            var createCollectionRequest = new CreateCollectionRequest()
            {
                CollectionId = collectionId
            };

            var createCollectionResponse =
                rekognitionClient.CreateCollectionAsync(createCollectionRequest);

            Console.WriteLine("CollectionArn : " + createCollectionResponse.Result.CollectionArn);
            Console.WriteLine("Status code : " + createCollectionResponse.Result.StatusCode);
        }
예제 #7
0
        public async void CreateCol()
        {
            string accessKey = "AKIAST4HFDODRNXMOAPJ";
            string secretKey = "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";

            AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(accessKey, secretKey, Amazon.RegionEndpoint.APSoutheast1);

            String collectionId = "faceCollection";

            Console.WriteLine("Creating collection: " + collectionId);

            CreateCollectionRequest createCollectionRequest = new CreateCollectionRequest()
            {
                CollectionId = collectionId
            };

            CreateCollectionResponse createCollectionResponse = await rekognitionClient.CreateCollectionAsync(createCollectionRequest);

            Console.WriteLine("CollectionArn : " + createCollectionResponse.CollectionArn);
            Console.WriteLine("Status code : " + createCollectionResponse.StatusCode);
        }