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);
}
}
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();
}
}
Aggregations