/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Rekognition { namespace Model { /** */ class CompareFacesRequest : public RekognitionRequest { public: AWS_REKOGNITION_API CompareFacesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CompareFaces"; } AWS_REKOGNITION_API Aws::String SerializePayload() const override; AWS_REKOGNITION_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline const Image& GetSourceImage() const{ return m_sourceImage; } /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline bool SourceImageHasBeenSet() const { return m_sourceImageHasBeenSet; } /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline void SetSourceImage(const Image& value) { m_sourceImageHasBeenSet = true; m_sourceImage = value; } /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline void SetSourceImage(Image&& value) { m_sourceImageHasBeenSet = true; m_sourceImage = std::move(value); } /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline CompareFacesRequest& WithSourceImage(const Image& value) { SetSourceImage(value); return *this;} /** *

The input image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline CompareFacesRequest& WithSourceImage(Image&& value) { SetSourceImage(std::move(value)); return *this;} /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline const Image& GetTargetImage() const{ return m_targetImage; } /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline bool TargetImageHasBeenSet() const { return m_targetImageHasBeenSet; } /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline void SetTargetImage(const Image& value) { m_targetImageHasBeenSet = true; m_targetImage = value; } /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline void SetTargetImage(Image&& value) { m_targetImageHasBeenSet = true; m_targetImage = std::move(value); } /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline CompareFacesRequest& WithTargetImage(const Image& value) { SetTargetImage(value); return *this;} /** *

The target image as base64-encoded bytes or an S3 object. If you use the AWS * CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is * not supported.

If you are using an AWS SDK to call Amazon Rekognition, * you might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the Amazon * Rekognition developer guide.

*/ inline CompareFacesRequest& WithTargetImage(Image&& value) { SetTargetImage(std::move(value)); return *this;} /** *

The minimum level of confidence in the face matches that a match must meet to * be included in the FaceMatches array.

*/ inline double GetSimilarityThreshold() const{ return m_similarityThreshold; } /** *

The minimum level of confidence in the face matches that a match must meet to * be included in the FaceMatches array.

*/ inline bool SimilarityThresholdHasBeenSet() const { return m_similarityThresholdHasBeenSet; } /** *

The minimum level of confidence in the face matches that a match must meet to * be included in the FaceMatches array.

*/ inline void SetSimilarityThreshold(double value) { m_similarityThresholdHasBeenSet = true; m_similarityThreshold = value; } /** *

The minimum level of confidence in the face matches that a match must meet to * be included in the FaceMatches array.

*/ inline CompareFacesRequest& WithSimilarityThreshold(double value) { SetSimilarityThreshold(value); return *this;} /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline const QualityFilter& GetQualityFilter() const{ return m_qualityFilter; } /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline bool QualityFilterHasBeenSet() const { return m_qualityFilterHasBeenSet; } /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline void SetQualityFilter(const QualityFilter& value) { m_qualityFilterHasBeenSet = true; m_qualityFilter = value; } /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline void SetQualityFilter(QualityFilter&& value) { m_qualityFilterHasBeenSet = true; m_qualityFilter = std::move(value); } /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline CompareFacesRequest& WithQualityFilter(const QualityFilter& value) { SetQualityFilter(value); return *this;} /** *

A filter that specifies a quality bar for how much filtering is done to * identify faces. Filtered faces aren't compared. If you specify * AUTO, Amazon Rekognition chooses the quality bar. If you specify * LOW, MEDIUM, or HIGH, filtering removes * all faces that don’t meet the chosen quality bar. The quality bar is based on a * variety of common use cases. Low-quality detections can occur for a number of * reasons. Some examples are an object that's misidentified as a face, a face * that's too blurry, or a face with a pose that's too extreme to use. If you * specify NONE, no filtering is performed. The default value is * NONE.

To use quality filtering, the collection you are * using must be associated with version 3 of the face model or higher.

*/ inline CompareFacesRequest& WithQualityFilter(QualityFilter&& value) { SetQualityFilter(std::move(value)); return *this;} private: Image m_sourceImage; bool m_sourceImageHasBeenSet = false; Image m_targetImage; bool m_targetImageHasBeenSet = false; double m_similarityThreshold; bool m_similarityThresholdHasBeenSet = false; QualityFilter m_qualityFilter; bool m_qualityFilterHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws