Search in sources :

Example 11 with RekognitionException

use of software.amazon.awssdk.services.rekognition.model.RekognitionException in project aws-doc-sdk-examples by awsdocs.

the class DetectFaces method detectFacesinImage.

// snippet-start:[rekognition.java2.detect_faces.main]
public static void detectFacesinImage(RekognitionClient rekClient, String sourceImage) {
    try {
        InputStream sourceStream = new FileInputStream(new File(sourceImage));
        SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
        // Create an Image object for the source image.
        Image souImage = Image.builder().bytes(sourceBytes).build();
        DetectFacesRequest facesRequest = DetectFacesRequest.builder().attributes(Attribute.ALL).image(souImage).build();
        DetectFacesResponse facesResponse = rekClient.detectFaces(facesRequest);
        List<FaceDetail> faceDetails = facesResponse.faceDetails();
        for (FaceDetail face : faceDetails) {
            AgeRange ageRange = face.ageRange();
            System.out.println("The detected face is estimated to be between " + ageRange.low().toString() + " and " + ageRange.high().toString() + " years old.");
            System.out.println("There is a smile : " + face.smile().value().toString());
        }
    } catch (RekognitionException | FileNotFoundException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    }
}
Also used : RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) AgeRange(software.amazon.awssdk.services.rekognition.model.AgeRange) FileNotFoundException(java.io.FileNotFoundException) Image(software.amazon.awssdk.services.rekognition.model.Image) FileInputStream(java.io.FileInputStream) SdkBytes(software.amazon.awssdk.core.SdkBytes) FaceDetail(software.amazon.awssdk.services.rekognition.model.FaceDetail) DetectFacesResponse(software.amazon.awssdk.services.rekognition.model.DetectFacesResponse) File(java.io.File) DetectFacesRequest(software.amazon.awssdk.services.rekognition.model.DetectFacesRequest)

Example 12 with RekognitionException

use of software.amazon.awssdk.services.rekognition.model.RekognitionException in project aws-doc-sdk-examples by awsdocs.

the class DetectLabelsS3 method getLabelsfromImage.

// snippet-start:[rekognition.java2.detect_labels_s3.main]
public static void getLabelsfromImage(RekognitionClient rekClient, String bucket, String image) {
    try {
        S3Object s3Object = S3Object.builder().bucket(bucket).name(image).build();
        Image myImage = Image.builder().s3Object(s3Object).build();
        DetectLabelsRequest detectLabelsRequest = DetectLabelsRequest.builder().image(myImage).maxLabels(10).build();
        DetectLabelsResponse labelsResponse = rekClient.detectLabels(detectLabelsRequest);
        List<Label> labels = labelsResponse.labels();
        System.out.println("Detected labels for the given photo");
        for (Label label : labels) {
            System.out.println(label.name() + ": " + label.confidence().toString());
        }
    } catch (RekognitionException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    }
}
Also used : RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) Label(software.amazon.awssdk.services.rekognition.model.Label) DetectLabelsRequest(software.amazon.awssdk.services.rekognition.model.DetectLabelsRequest) S3Object(software.amazon.awssdk.services.rekognition.model.S3Object) Image(software.amazon.awssdk.services.rekognition.model.Image) DetectLabelsResponse(software.amazon.awssdk.services.rekognition.model.DetectLabelsResponse)

Example 13 with RekognitionException

use of software.amazon.awssdk.services.rekognition.model.RekognitionException in project aws-doc-sdk-examples by awsdocs.

the class DetectCustomLabels method detectImageCustomLabels.

public static void detectImageCustomLabels(RekognitionClient rekClient, String arn, String bucket, String key) {
    try {
        S3Object s3Object = S3Object.builder().bucket(bucket).name(key).build();
        // Create an Image object for the source image
        Image s3Image = Image.builder().s3Object(s3Object).build();
        DetectCustomLabelsRequest detectCustomLabelsRequest = DetectCustomLabelsRequest.builder().image(s3Image).projectVersionArn(arn).build();
        DetectCustomLabelsResponse customLabelsResponse = rekClient.detectCustomLabels(detectCustomLabelsRequest);
        List<CustomLabel> customLabels = customLabelsResponse.customLabels();
        System.out.println("Detected labels for the given photo");
        for (CustomLabel customLabel : customLabels) {
            System.out.println(customLabel.name() + ": " + customLabel.confidence().toString());
        }
    } catch (RekognitionException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    }
}
Also used : CustomLabel(software.amazon.awssdk.services.rekognition.model.CustomLabel) RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) S3Object(software.amazon.awssdk.services.rekognition.model.S3Object) DetectCustomLabelsResponse(software.amazon.awssdk.services.rekognition.model.DetectCustomLabelsResponse) Image(software.amazon.awssdk.services.rekognition.model.Image) DetectCustomLabelsRequest(software.amazon.awssdk.services.rekognition.model.DetectCustomLabelsRequest)

Example 14 with RekognitionException

use of software.amazon.awssdk.services.rekognition.model.RekognitionException in project aws-doc-sdk-examples by awsdocs.

the class AnalyzePhotos method detectLabels.

// Returns a list of GearItem objects that contains PPE information.
public ArrayList<GearItem> detectLabels(byte[] bytes, String key) {
    Region region = Region.US_EAST_2;
    RekognitionClient rekClient = RekognitionClient.builder().region(region).build();
    ArrayList<GearItem> gearList = new ArrayList<>();
    try {
        SdkBytes sourceBytes = SdkBytes.fromByteArray(bytes);
        // Create an Image object for the source image.
        Image souImage = Image.builder().bytes(sourceBytes).build();
        ProtectiveEquipmentSummarizationAttributes summarizationAttributes = ProtectiveEquipmentSummarizationAttributes.builder().minConfidence(80F).requiredEquipmentTypesWithStrings("FACE_COVER", "HAND_COVER", "HEAD_COVER").build();
        DetectProtectiveEquipmentRequest request = DetectProtectiveEquipmentRequest.builder().image(souImage).summarizationAttributes(summarizationAttributes).build();
        DetectProtectiveEquipmentResponse result = rekClient.detectProtectiveEquipment(request);
        List<ProtectiveEquipmentPerson> persons = result.persons();
        // Create a GearItem object.
        GearItem gear;
        for (ProtectiveEquipmentPerson person : persons) {
            List<ProtectiveEquipmentBodyPart> bodyParts = person.bodyParts();
            if (bodyParts.isEmpty()) {
                System.out.println("\tNo body parts detected");
            } else
                for (ProtectiveEquipmentBodyPart bodyPart : bodyParts) {
                    List<EquipmentDetection> equipmentDetections = bodyPart.equipmentDetections();
                    if (equipmentDetections.isEmpty()) {
                        System.out.println("\t\tNo PPE Detected on " + bodyPart.name());
                    } else {
                        for (EquipmentDetection item : equipmentDetections) {
                            gear = new GearItem();
                            gear.setKey(key);
                            String itemType = item.type().toString();
                            String confidence = item.confidence().toString();
                            String myDesc = "Item: " + item.type() + ". Confidence: " + item.confidence().toString();
                            String bodyPartDes = "Covers body part: " + item.coversBodyPart().value().toString() + ". Confidence: " + item.coversBodyPart().confidence().toString();
                            gear.setName(itemType);
                            gear.setConfidence(confidence);
                            gear.setItemDescription(myDesc);
                            gear.setBodyCoverDescription(bodyPartDes);
                            // push the object.
                            gearList.add(gear);
                        }
                    }
                }
        }
        if (gearList.isEmpty())
            return null;
        else
            return gearList;
    } catch (RekognitionException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    }
    return null;
}
Also used : ProtectiveEquipmentSummarizationAttributes(software.amazon.awssdk.services.rekognition.model.ProtectiveEquipmentSummarizationAttributes) RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) ArrayList(java.util.ArrayList) ProtectiveEquipmentBodyPart(software.amazon.awssdk.services.rekognition.model.ProtectiveEquipmentBodyPart) Image(software.amazon.awssdk.services.rekognition.model.Image) DetectProtectiveEquipmentRequest(software.amazon.awssdk.services.rekognition.model.DetectProtectiveEquipmentRequest) SdkBytes(software.amazon.awssdk.core.SdkBytes) EquipmentDetection(software.amazon.awssdk.services.rekognition.model.EquipmentDetection) ProtectiveEquipmentPerson(software.amazon.awssdk.services.rekognition.model.ProtectiveEquipmentPerson) Region(software.amazon.awssdk.regions.Region) RekognitionClient(software.amazon.awssdk.services.rekognition.RekognitionClient) ArrayList(java.util.ArrayList) List(java.util.List) DetectProtectiveEquipmentResponse(software.amazon.awssdk.services.rekognition.model.DetectProtectiveEquipmentResponse)

Example 15 with RekognitionException

use of software.amazon.awssdk.services.rekognition.model.RekognitionException in project aws-doc-sdk-examples by awsdocs.

the class RecognizeCelebrities method recognizeAllCelebrities.

// snippet-start:[rekognition.java2.recognize_celebs.main]
public static void recognizeAllCelebrities(RekognitionClient rekClient, String sourceImage) {
    try {
        InputStream sourceStream = new FileInputStream(sourceImage);
        SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
        Image souImage = Image.builder().bytes(sourceBytes).build();
        RecognizeCelebritiesRequest request = RecognizeCelebritiesRequest.builder().image(souImage).build();
        RecognizeCelebritiesResponse result = rekClient.recognizeCelebrities(request);
        List<Celebrity> celebs = result.celebrityFaces();
        System.out.println(celebs.size() + " celebrity(s) were recognized.\n");
        for (Celebrity celebrity : celebs) {
            System.out.println("Celebrity recognized: " + celebrity.name());
            System.out.println("Celebrity ID: " + celebrity.id());
            System.out.println("Further information (if available):");
            for (String url : celebrity.urls()) {
                System.out.println(url);
            }
            System.out.println();
        }
        System.out.println(result.unrecognizedFaces().size() + " face(s) were unrecognized.");
    } catch (RekognitionException | FileNotFoundException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    }
}
Also used : RecognizeCelebritiesResponse(software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesResponse) SdkBytes(software.amazon.awssdk.core.SdkBytes) RecognizeCelebritiesRequest(software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesRequest) RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) Celebrity(software.amazon.awssdk.services.rekognition.model.Celebrity) FileNotFoundException(java.io.FileNotFoundException) Image(software.amazon.awssdk.services.rekognition.model.Image) FileInputStream(java.io.FileInputStream)

Aggregations

RekognitionException (software.amazon.awssdk.services.rekognition.model.RekognitionException)33 Image (software.amazon.awssdk.services.rekognition.model.Image)12 SdkBytes (software.amazon.awssdk.core.SdkBytes)10 FileInputStream (java.io.FileInputStream)8 FileNotFoundException (java.io.FileNotFoundException)8 InputStream (java.io.InputStream)8 S3Object (software.amazon.awssdk.services.rekognition.model.S3Object)8 Video (software.amazon.awssdk.services.rekognition.model.Video)6 VideoMetadata (software.amazon.awssdk.services.rekognition.model.VideoMetadata)6 File (java.io.File)2 Celebrity (software.amazon.awssdk.services.rekognition.model.Celebrity)2 ComparedFace (software.amazon.awssdk.services.rekognition.model.ComparedFace)2 DetectLabelsRequest (software.amazon.awssdk.services.rekognition.model.DetectLabelsRequest)2 DetectLabelsResponse (software.amazon.awssdk.services.rekognition.model.DetectLabelsResponse)2 FaceMatch (software.amazon.awssdk.services.rekognition.model.FaceMatch)2 Label (software.amazon.awssdk.services.rekognition.model.Label)2 RecognizeCelebritiesRequest (software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesRequest)2 RecognizeCelebritiesResponse (software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesResponse)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 JsonMappingException (com.fasterxml.jackson.databind.JsonMappingException)1