Search in sources :

Example 1 with ComparedFace

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

the class CompareFaces method compareTwoFaces.

// snippet-start:[rekognition.java2.compare_faces.main]
public static void compareTwoFaces(RekognitionClient rekClient, Float similarityThreshold, String sourceImage, String targetImage) {
    try {
        InputStream sourceStream = new FileInputStream(sourceImage);
        InputStream tarStream = new FileInputStream(targetImage);
        SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
        SdkBytes targetBytes = SdkBytes.fromInputStream(tarStream);
        // Create an Image object for the source image.
        Image souImage = Image.builder().bytes(sourceBytes).build();
        Image tarImage = Image.builder().bytes(targetBytes).build();
        CompareFacesRequest facesRequest = CompareFacesRequest.builder().sourceImage(souImage).targetImage(tarImage).similarityThreshold(similarityThreshold).build();
        // Compare the two images.
        CompareFacesResponse compareFacesResult = rekClient.compareFaces(facesRequest);
        List<CompareFacesMatch> faceDetails = compareFacesResult.faceMatches();
        for (CompareFacesMatch match : faceDetails) {
            ComparedFace face = match.face();
            BoundingBox position = face.boundingBox();
            System.out.println("Face at " + position.left().toString() + " " + position.top() + " matches with " + face.confidence().toString() + "% confidence.");
        }
        List<ComparedFace> uncompared = compareFacesResult.unmatchedFaces();
        System.out.println("There was " + uncompared.size() + " face(s) that did not match");
        System.out.println("Source image rotation: " + compareFacesResult.sourceImageOrientationCorrection());
        System.out.println("target image rotation: " + compareFacesResult.targetImageOrientationCorrection());
    } catch (RekognitionException | FileNotFoundException e) {
        System.out.println("Failed to load source image " + sourceImage);
        System.exit(1);
    }
}
Also used : RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) FileNotFoundException(java.io.FileNotFoundException) Image(software.amazon.awssdk.services.rekognition.model.Image) CompareFacesMatch(software.amazon.awssdk.services.rekognition.model.CompareFacesMatch) ComparedFace(software.amazon.awssdk.services.rekognition.model.ComparedFace) FileInputStream(java.io.FileInputStream) CompareFacesResponse(software.amazon.awssdk.services.rekognition.model.CompareFacesResponse) SdkBytes(software.amazon.awssdk.core.SdkBytes) BoundingBox(software.amazon.awssdk.services.rekognition.model.BoundingBox) CompareFacesRequest(software.amazon.awssdk.services.rekognition.model.CompareFacesRequest)

Example 2 with ComparedFace

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

the class RotateImage method recognizeAllCelebrities.

// snippet-start:[rekognition.java2.recognize_image_orientation.main]
public static void recognizeAllCelebrities(RekognitionClient rekClient, String sourceImage) {
    try {
        BufferedImage image = null;
        InputStream sourceStream = new FileInputStream(sourceImage);
        SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
        image = ImageIO.read(sourceBytes.asInputStream());
        int height = image.getHeight();
        int width = image.getWidth();
        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());
            ComparedFace face = celebrity.face();
            ShowBoundingBoxPositions(height, width, face.boundingBox(), result.orientationCorrectionAsString());
        }
    } catch (RekognitionException | FileNotFoundException e) {
        System.out.println(e.getMessage());
        System.exit(1);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Also used : RekognitionException(software.amazon.awssdk.services.rekognition.model.RekognitionException) BufferedImage(java.awt.image.BufferedImage) Image(software.amazon.awssdk.services.rekognition.model.Image) ComparedFace(software.amazon.awssdk.services.rekognition.model.ComparedFace) BufferedImage(java.awt.image.BufferedImage) RecognizeCelebritiesResponse(software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesResponse) SdkBytes(software.amazon.awssdk.core.SdkBytes) RecognizeCelebritiesRequest(software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesRequest) Celebrity(software.amazon.awssdk.services.rekognition.model.Celebrity)

Aggregations

SdkBytes (software.amazon.awssdk.core.SdkBytes)2 ComparedFace (software.amazon.awssdk.services.rekognition.model.ComparedFace)2 Image (software.amazon.awssdk.services.rekognition.model.Image)2 RekognitionException (software.amazon.awssdk.services.rekognition.model.RekognitionException)2 BufferedImage (java.awt.image.BufferedImage)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 InputStream (java.io.InputStream)1 BoundingBox (software.amazon.awssdk.services.rekognition.model.BoundingBox)1 Celebrity (software.amazon.awssdk.services.rekognition.model.Celebrity)1 CompareFacesMatch (software.amazon.awssdk.services.rekognition.model.CompareFacesMatch)1 CompareFacesRequest (software.amazon.awssdk.services.rekognition.model.CompareFacesRequest)1 CompareFacesResponse (software.amazon.awssdk.services.rekognition.model.CompareFacesResponse)1 RecognizeCelebritiesRequest (software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesRequest)1 RecognizeCelebritiesResponse (software.amazon.awssdk.services.rekognition.model.RecognizeCelebritiesResponse)1