0

嗨,我正在这样的代码中获取数据库数据

response = rekognition.search_faces_by_image(
                        CollectionId='athlete_collection',
                        Image={'Bytes': image_crop_binary}
                    )

我有一个名为eventin的列,athlete_collection 所以我想设置一个仅获取数据 where event = 'newevent' 的条件

4

1 回答 1

0

在这里,您在概念上是错误的,因为您正在尝试过滤仅包含存储的面部的面部标志数据和与该面部相对应的面部 ID 的 Rekognition 集合的运动员集合,然后您可以使用这些面部ID检索当且仅当您在为集合中的这些面孔编制索引时将此类详细信息存储在数据库中,如果在您的用例中事件名称存储在数据库中,则相应的数据(例如名称、地址等),因此您必须在从数据库中检索结果时过滤数据对应于从search_faces_by_image API获得的结果

您可以通过以下示例执行此操作:

response = rekognition.search_faces_by_image(
    CollectionId='collection_name',
    Image={'Bytes':image_crop_binary}
    )

if len(response['FaceMatches']) > 0:
    # Return results
    for match in response['FaceMatches']:

        face = dynamodb.get_item(
        TableName='table_name',               
        Key={'RekognitionId': {'S': match['Face']['FaceId']}}
        )


    if 'Item' in face:
        event = face['Item']['event_name']['S']
        full = face['Item']['full_name']['S']

    if(event=='newevent'):
        #your code goes here , i.e what you want to do if event=="newevent"
于 2018-06-23T07:45:02.280 回答