1 Answer
- Newest
- Most votes
- Most comments
3
Hi THere
That error usually means no face was detected.
From the documentation: If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error.
Make sure you are handling errors in your code properly. Heres an example. Its using DetectLabels, but the error handling would be similar for CompareFaces
import boto3
rekognition = boto3.client('rekognition')
try:
response = rekognition.detect_labels(Image={'S3Object': {'Bucket': bucket, 'Name': photo}})
labels = response['Labels']
print(f"Detected labels for {photo}")
for label in labels:
print(f"{label['Name']}: {label['Confidence']}")
except rekognition.exceptions.AmazonRekognitionException as e:
print("Could not complete operation")
print(f"Error Message: {e.message}")
print(f"HTTP Status: {e.response['Error']['Code']}")
print(f"AWS Error Code: {e.response['Error']['Code']}")
print(f"Error Type: {e.response['Error']['Type']}")
print(f"Request ID: {e.response['ResponseMetadata']['RequestId']}")
except Exception as e:
print(f"Internal error occurred communicating with Rekognition: {e}")
Relevant content
- asked 10 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
Thanks, Matt. I'm not sure why the error isn't consistent with each photo that doesn't have a face in it. I get 'nope' on most and on this one image I get this error. I can trap for it, for sure but just wish I knew more as to why. Thanks for the quick response.