要实现AWS Rekognition和S3存储的图像精确匹配,您可以使用AWS SDK for Python(Boto3)来编写代码。以下是一个示例代码,演示了如何使用Boto3上传图像到S3存储桶,并使用Rekognition进行图像精确匹配。
import boto3
# 创建S3和Rekognition客户端
s3 = boto3.client('s3')
rekognition = boto3.client('rekognition')
# 上传图像到S3存储桶
def upload_image_to_s3(image_path, bucket_name, object_name):
s3.upload_file(image_path, bucket_name, object_name)
# 使用Rekognition进行图像精确匹配
def match_image_to_collection(image_path, collection_id):
# 上传图像到S3存储桶
object_name = 'image.jpg'
upload_image_to_s3(image_path, 'your-bucket-name', object_name)
# 调用Rekognition的SearchFacesByImage API
response = rekognition.search_faces_by_image(
CollectionId=collection_id,
Image={
'S3Object': {
'Bucket': 'your-bucket-name',
'Name': object_name
}
}
)
# 处理响应结果
if response['FaceMatches']:
for match in response['FaceMatches']:
print('相似度: ' + str(match['Similarity']))
print('FaceId: ' + match['Face']['FaceId'])
else:
print('未找到匹配的人脸')
# 示例用法
image_path = 'path/to/your/image.jpg'
collection_id = 'your-collection-id'
match_image_to_collection(image_path, collection_id)
请注意,您需要先在AWS控制台上创建一个S3存储桶和一个Rekognition集合,并替换代码中的"your-bucket-name"和"your-collection-id"。此外,确保您已正确配置AWS凭证,以便代码能够正常运行。