/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Structure containing attributes of the face that the algorithm detected. A GetFaceDetection is
* the only Amazon Rekognition Video stored video operation that can return a
* GetCelebrityRecognition GetPersonTracking GetFaceSearch The Amazon Rekognition Image
* DetectFaces and IndexFaces operations can return all facial
* attributes. To specify which attributes to return, use the
* FaceDetail
object contains either the default facial
* attributes or all facial attributes. The default attributes are
* BoundingBox
, Confidence
, Landmarks
,
* Pose
, and Quality
.FaceDetail
object with all attributes. To specify which attributes
* to return, use the FaceAttributes
input parameter for
* StartFaceDetection. The following Amazon Rekognition Video operations
* return only the default attributes. The corresponding Start operations don't
* have a FaceAttributes
input parameter:
Attributes
input parameter for DetectFaces
. For
* IndexFaces
, use the DetectAttributes
input
* parameter.See Also:
AWS
* API Reference
Bounding box of the face. Default attribute.
*/ inline const BoundingBox& GetBoundingBox() const{ return m_boundingBox; } /** *Bounding box of the face. Default attribute.
*/ inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } /** *Bounding box of the face. Default attribute.
*/ inline void SetBoundingBox(const BoundingBox& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } /** *Bounding box of the face. Default attribute.
*/ inline void SetBoundingBox(BoundingBox&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } /** *Bounding box of the face. Default attribute.
*/ inline FaceDetail& WithBoundingBox(const BoundingBox& value) { SetBoundingBox(value); return *this;} /** *Bounding box of the face. Default attribute.
*/ inline FaceDetail& WithBoundingBox(BoundingBox&& value) { SetBoundingBox(std::move(value)); return *this;} /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline const AgeRange& GetAgeRange() const{ return m_ageRange; } /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline bool AgeRangeHasBeenSet() const { return m_ageRangeHasBeenSet; } /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline void SetAgeRange(const AgeRange& value) { m_ageRangeHasBeenSet = true; m_ageRange = value; } /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline void SetAgeRange(AgeRange&& value) { m_ageRangeHasBeenSet = true; m_ageRange = std::move(value); } /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline FaceDetail& WithAgeRange(const AgeRange& value) { SetAgeRange(value); return *this;} /** *The estimated age range, in years, for the face. Low represents the lowest * estimated age and High represents the highest estimated age.
*/ inline FaceDetail& WithAgeRange(AgeRange&& value) { SetAgeRange(std::move(value)); return *this;} /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline const Smile& GetSmile() const{ return m_smile; } /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline bool SmileHasBeenSet() const { return m_smileHasBeenSet; } /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline void SetSmile(const Smile& value) { m_smileHasBeenSet = true; m_smile = value; } /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline void SetSmile(Smile&& value) { m_smileHasBeenSet = true; m_smile = std::move(value); } /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline FaceDetail& WithSmile(const Smile& value) { SetSmile(value); return *this;} /** *Indicates whether or not the face is smiling, and the confidence level in the * determination.
*/ inline FaceDetail& WithSmile(Smile&& value) { SetSmile(std::move(value)); return *this;} /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline const Eyeglasses& GetEyeglasses() const{ return m_eyeglasses; } /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline bool EyeglassesHasBeenSet() const { return m_eyeglassesHasBeenSet; } /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline void SetEyeglasses(const Eyeglasses& value) { m_eyeglassesHasBeenSet = true; m_eyeglasses = value; } /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline void SetEyeglasses(Eyeglasses&& value) { m_eyeglassesHasBeenSet = true; m_eyeglasses = std::move(value); } /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline FaceDetail& WithEyeglasses(const Eyeglasses& value) { SetEyeglasses(value); return *this;} /** *Indicates whether or not the face is wearing eye glasses, and the confidence * level in the determination.
*/ inline FaceDetail& WithEyeglasses(Eyeglasses&& value) { SetEyeglasses(std::move(value)); return *this;} /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline const Sunglasses& GetSunglasses() const{ return m_sunglasses; } /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline bool SunglassesHasBeenSet() const { return m_sunglassesHasBeenSet; } /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline void SetSunglasses(const Sunglasses& value) { m_sunglassesHasBeenSet = true; m_sunglasses = value; } /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline void SetSunglasses(Sunglasses&& value) { m_sunglassesHasBeenSet = true; m_sunglasses = std::move(value); } /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline FaceDetail& WithSunglasses(const Sunglasses& value) { SetSunglasses(value); return *this;} /** *Indicates whether or not the face is wearing sunglasses, and the confidence * level in the determination.
*/ inline FaceDetail& WithSunglasses(Sunglasses&& value) { SetSunglasses(std::move(value)); return *this;} /** *The predicted gender of a detected face.
*/ inline const Gender& GetGender() const{ return m_gender; } /** *The predicted gender of a detected face.
*/ inline bool GenderHasBeenSet() const { return m_genderHasBeenSet; } /** *The predicted gender of a detected face.
*/ inline void SetGender(const Gender& value) { m_genderHasBeenSet = true; m_gender = value; } /** *The predicted gender of a detected face.
*/ inline void SetGender(Gender&& value) { m_genderHasBeenSet = true; m_gender = std::move(value); } /** *The predicted gender of a detected face.
*/ inline FaceDetail& WithGender(const Gender& value) { SetGender(value); return *this;} /** *The predicted gender of a detected face.
*/ inline FaceDetail& WithGender(Gender&& value) { SetGender(std::move(value)); return *this;} /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline const Beard& GetBeard() const{ return m_beard; } /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline bool BeardHasBeenSet() const { return m_beardHasBeenSet; } /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline void SetBeard(const Beard& value) { m_beardHasBeenSet = true; m_beard = value; } /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline void SetBeard(Beard&& value) { m_beardHasBeenSet = true; m_beard = std::move(value); } /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline FaceDetail& WithBeard(const Beard& value) { SetBeard(value); return *this;} /** *Indicates whether or not the face has a beard, and the confidence level in * the determination.
*/ inline FaceDetail& WithBeard(Beard&& value) { SetBeard(std::move(value)); return *this;} /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline const Mustache& GetMustache() const{ return m_mustache; } /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline bool MustacheHasBeenSet() const { return m_mustacheHasBeenSet; } /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline void SetMustache(const Mustache& value) { m_mustacheHasBeenSet = true; m_mustache = value; } /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline void SetMustache(Mustache&& value) { m_mustacheHasBeenSet = true; m_mustache = std::move(value); } /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline FaceDetail& WithMustache(const Mustache& value) { SetMustache(value); return *this;} /** *Indicates whether or not the face has a mustache, and the confidence level in * the determination.
*/ inline FaceDetail& WithMustache(Mustache&& value) { SetMustache(std::move(value)); return *this;} /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline const EyeOpen& GetEyesOpen() const{ return m_eyesOpen; } /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline bool EyesOpenHasBeenSet() const { return m_eyesOpenHasBeenSet; } /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline void SetEyesOpen(const EyeOpen& value) { m_eyesOpenHasBeenSet = true; m_eyesOpen = value; } /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline void SetEyesOpen(EyeOpen&& value) { m_eyesOpenHasBeenSet = true; m_eyesOpen = std::move(value); } /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline FaceDetail& WithEyesOpen(const EyeOpen& value) { SetEyesOpen(value); return *this;} /** *Indicates whether or not the eyes on the face are open, and the confidence * level in the determination.
*/ inline FaceDetail& WithEyesOpen(EyeOpen&& value) { SetEyesOpen(std::move(value)); return *this;} /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline const MouthOpen& GetMouthOpen() const{ return m_mouthOpen; } /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline bool MouthOpenHasBeenSet() const { return m_mouthOpenHasBeenSet; } /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline void SetMouthOpen(const MouthOpen& value) { m_mouthOpenHasBeenSet = true; m_mouthOpen = value; } /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline void SetMouthOpen(MouthOpen&& value) { m_mouthOpenHasBeenSet = true; m_mouthOpen = std::move(value); } /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline FaceDetail& WithMouthOpen(const MouthOpen& value) { SetMouthOpen(value); return *this;} /** *Indicates whether or not the mouth on the face is open, and the confidence * level in the determination.
*/ inline FaceDetail& WithMouthOpen(MouthOpen&& value) { SetMouthOpen(std::move(value)); return *this;} /** *The emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline const Aws::VectorThe emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline bool EmotionsHasBeenSet() const { return m_emotionsHasBeenSet; } /** *The emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline void SetEmotions(const Aws::VectorThe emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline void SetEmotions(Aws::VectorThe emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline FaceDetail& WithEmotions(const Aws::VectorThe emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline FaceDetail& WithEmotions(Aws::VectorThe emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline FaceDetail& AddEmotions(const Emotion& value) { m_emotionsHasBeenSet = true; m_emotions.push_back(value); return *this; } /** *The emotions that appear to be expressed on the face, and the confidence * level in the determination. The API is only making a determination of the * physical appearance of a person's face. It is not a determination of the * person’s internal emotional state and should not be used in such a way. For * example, a person pretending to have a sad face might not be sad * emotionally.
*/ inline FaceDetail& AddEmotions(Emotion&& value) { m_emotionsHasBeenSet = true; m_emotions.push_back(std::move(value)); return *this; } /** *Indicates the location of landmarks on the face. Default attribute.
*/ inline const Aws::VectorIndicates the location of landmarks on the face. Default attribute.
*/ inline bool LandmarksHasBeenSet() const { return m_landmarksHasBeenSet; } /** *Indicates the location of landmarks on the face. Default attribute.
*/ inline void SetLandmarks(const Aws::VectorIndicates the location of landmarks on the face. Default attribute.
*/ inline void SetLandmarks(Aws::VectorIndicates the location of landmarks on the face. Default attribute.
*/ inline FaceDetail& WithLandmarks(const Aws::VectorIndicates the location of landmarks on the face. Default attribute.
*/ inline FaceDetail& WithLandmarks(Aws::VectorIndicates the location of landmarks on the face. Default attribute.
*/ inline FaceDetail& AddLandmarks(const Landmark& value) { m_landmarksHasBeenSet = true; m_landmarks.push_back(value); return *this; } /** *Indicates the location of landmarks on the face. Default attribute.
*/ inline FaceDetail& AddLandmarks(Landmark&& value) { m_landmarksHasBeenSet = true; m_landmarks.push_back(std::move(value)); return *this; } /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline const Pose& GetPose() const{ return m_pose; } /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline bool PoseHasBeenSet() const { return m_poseHasBeenSet; } /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline void SetPose(const Pose& value) { m_poseHasBeenSet = true; m_pose = value; } /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline void SetPose(Pose&& value) { m_poseHasBeenSet = true; m_pose = std::move(value); } /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline FaceDetail& WithPose(const Pose& value) { SetPose(value); return *this;} /** *Indicates the pose of the face as determined by its pitch, roll, and yaw. * Default attribute.
*/ inline FaceDetail& WithPose(Pose&& value) { SetPose(std::move(value)); return *this;} /** *Identifies image brightness and sharpness. Default attribute.
*/ inline const ImageQuality& GetQuality() const{ return m_quality; } /** *Identifies image brightness and sharpness. Default attribute.
*/ inline bool QualityHasBeenSet() const { return m_qualityHasBeenSet; } /** *Identifies image brightness and sharpness. Default attribute.
*/ inline void SetQuality(const ImageQuality& value) { m_qualityHasBeenSet = true; m_quality = value; } /** *Identifies image brightness and sharpness. Default attribute.
*/ inline void SetQuality(ImageQuality&& value) { m_qualityHasBeenSet = true; m_quality = std::move(value); } /** *Identifies image brightness and sharpness. Default attribute.
*/ inline FaceDetail& WithQuality(const ImageQuality& value) { SetQuality(value); return *this;} /** *Identifies image brightness and sharpness. Default attribute.
*/ inline FaceDetail& WithQuality(ImageQuality&& value) { SetQuality(std::move(value)); return *this;} /** *Confidence level that the bounding box contains a face (and not a different * object such as a tree). Default attribute.
*/ inline double GetConfidence() const{ return m_confidence; } /** *Confidence level that the bounding box contains a face (and not a different * object such as a tree). Default attribute.
*/ inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } /** *Confidence level that the bounding box contains a face (and not a different * object such as a tree). Default attribute.
*/ inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } /** *Confidence level that the bounding box contains a face (and not a different * object such as a tree). Default attribute.
*/ inline FaceDetail& WithConfidence(double value) { SetConfidence(value); return *this;} /** * FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
FaceOccluded
should return "true" with a high confidence score
* if a detected face’s eyes, nose, and mouth are partially captured or if they are
* covered by masks, dark sunglasses, cell phones, hands, or other objects.
* FaceOccluded
should return "false" with a high confidence score if
* common occurrences that do not impact face verification are detected, such as
* eye glasses, lightly tinted sunglasses, strands of hair, and others.
Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline const EyeDirection& GetEyeDirection() const{ return m_eyeDirection; } /** *Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline bool EyeDirectionHasBeenSet() const { return m_eyeDirectionHasBeenSet; } /** *Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline void SetEyeDirection(const EyeDirection& value) { m_eyeDirectionHasBeenSet = true; m_eyeDirection = value; } /** *Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline void SetEyeDirection(EyeDirection&& value) { m_eyeDirectionHasBeenSet = true; m_eyeDirection = std::move(value); } /** *Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline FaceDetail& WithEyeDirection(const EyeDirection& value) { SetEyeDirection(value); return *this;} /** *Indicates the direction the eyes are gazing in, as defined by pitch and * yaw.
*/ inline FaceDetail& WithEyeDirection(EyeDirection&& value) { SetEyeDirection(std::move(value)); return *this;} private: BoundingBox m_boundingBox; bool m_boundingBoxHasBeenSet = false; AgeRange m_ageRange; bool m_ageRangeHasBeenSet = false; Smile m_smile; bool m_smileHasBeenSet = false; Eyeglasses m_eyeglasses; bool m_eyeglassesHasBeenSet = false; Sunglasses m_sunglasses; bool m_sunglassesHasBeenSet = false; Gender m_gender; bool m_genderHasBeenSet = false; Beard m_beard; bool m_beardHasBeenSet = false; Mustache m_mustache; bool m_mustacheHasBeenSet = false; EyeOpen m_eyesOpen; bool m_eyesOpenHasBeenSet = false; MouthOpen m_mouthOpen; bool m_mouthOpenHasBeenSet = false; Aws::Vector