AWS Rekognition将人脸与文件夹中的图像进行比较

时间:2019-11-25 13:20:17

标签: amazon-rekognition

如果两个图像位于S3存储桶的根目录中,我可以对其进行比较。

const params = {
  SourceImage: {
    S3Object: {
      Bucket: bucket,
      Name: 'source.jpg'
    }
  },
  TargetImage: {
    S3Object: {
      Bucket: bucket,
      Name: 'target.jpg'
    }
  },
  SimilarityThreshold: 90
}

但是如果它们在子文件夹中,则会出现错误:

  

消息:“请求的参数无效”,

     

代码:“ InvalidParameterException”,

     

时间:2019-11-25T13:12:44.498Z,

     

requestId:'7ac7f297-fc36-436b-a1dc-113d419da766',

     

状态码:400,

     

可重试:false,重试延迟:71.0571139838835

如果我尝试比较子文件夹中的图像(请注意,我尝试在路径前使用'./'、'/'-同样的东西)

const params = {
  SourceImage: {
    S3Object: {
      Bucket: bucket,
      Name: '/sub1/sub2/source.jpg'
    }
  },
  TargetImage: {
    S3Object: {
      Bucket: bucket,
      Name: '/sub1/sub2/target.jpg'
    }
  },
  SimilarityThreshold: 90
}

我真的需要把照片放在子文件夹中。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个可行的例子。

import boto3

reko=boto3.client('rekognition')

resp = reko.compare_faces(
        SourceImage={
        'S3Object': {
            'Bucket': 'jsimon-public-us',
            'Name': 'pref1/image1.jpg',
        }},
        TargetImage={
        'S3Object': {
            'Bucket': 'jsimon-public-us',
            'Name': 'pref2/image2.jpg',
        }}
)

print(resp)