2019-08-27 16:25:01 -07:00
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
// snippet-start:[rekognition.java.rekognition-image-java-detect-faces.complete]
package aws.example.rekognition.image ;
import com.amazonaws.services.rekognition.AmazonRekognition ;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder ;
import com.amazonaws.services.rekognition.model.AmazonRekognitionException ;
import com.amazonaws.services.rekognition.model.Image ;
import com.amazonaws.services.rekognition.model.S3Object ;
import com.amazonaws.services.rekognition.model.AgeRange ;
import com.amazonaws.services.rekognition.model.Attribute ;
import com.amazonaws.services.rekognition.model.DetectFacesRequest ;
import com.amazonaws.services.rekognition.model.DetectFacesResult ;
import com.amazonaws.services.rekognition.model.FaceDetail ;
import com.fasterxml.jackson.databind.ObjectMapper ;
import java.util.List ;
public class DetectFaces {
2024-01-16 10:41:11 -05:00
2019-08-27 16:25:01 -07:00
public static void main ( String [ ] args ) throws Exception {
// Change bucket to your S3 bucket that contains the image file.
// Change photo to your image file.
String photo = " input.jpg " ;
String bucket = " bucket " ;
AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder . defaultClient ( ) ;
DetectFacesRequest request = new DetectFacesRequest ( )
. withImage ( new Image ( )
. withS3Object ( new S3Object ( )
. withName ( photo )
. withBucket ( bucket ) ) )
. withAttributes ( Attribute . ALL ) ;
// Replace Attribute.ALL with Attribute.DEFAULT to get default values.
try {
DetectFacesResult result = rekognitionClient . detectFaces ( request ) ;
List < FaceDetail > faceDetails = result . getFaceDetails ( ) ;
for ( FaceDetail face : faceDetails ) {
if ( request . getAttributes ( ) . contains ( " ALL " ) ) {
AgeRange ageRange = face . getAgeRange ( ) ;
System . out . println ( " The detected face is estimated to be between "
+ ageRange . getLow ( ) . toString ( ) + " and " + ageRange . getHigh ( ) . toString ( )
+ " years old. " ) ;
System . out . println ( " Here's the complete set of attributes: " ) ;
} else { // non-default attributes have null values.
System . out . println ( " Here's the default set of attributes: " ) ;
}
ObjectMapper objectMapper = new ObjectMapper ( ) ;
System . out . println ( objectMapper . writerWithDefaultPrettyPrinter ( ) . writeValueAsString ( face ) ) ;
}
} catch ( AmazonRekognitionException e ) {
e . printStackTrace ( ) ;
}
}
}
// snippet-end:[rekognition.java.rekognition-image-java-detect-faces.complete]