• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在 Swift 3 中使用 AWS Rekognition 比较人脸

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:39:33 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我一直在尝试使用 AWSRekognition SDK 来比较人脸。但是,亚马逊没有关于如何将其 SDK 与 iOS 集成的文档。他们的链接展示了如何使用 Recognition (Developer Guide),其中的示例仅在 Java 中并且非常有限。

我想知道是否有人知道如何在 Swift 3 中集成 AWS Rekognition。如何初始化它并使用图像发出请求,接收带有标签的响应。

我有 AWS 签名 AccessKey、SecretKey、AWS 区域、服务名称。还有 body

{
  "SourceImage": {
    "S3Object": {
      "Bucket": "bucketName",
      "Name": "ios/sample.jpg"
    }
  },
  "TargetImage": {
    "S3Object": {
      "Bucket": "buketName",
      "Name": "ios/target.JPG"
    }
  }
}

如何初始化 Rekognition 并构建请求。

谢谢!



Best Answer-推荐答案


  1. 实例化 Rekognition 客户端,这里我使用的是默认配置的客户端。

    let rekognitionClient:AWSRekognition = AWSRekognition.default()
    

否则,您可以按如下方式使用凭据:

    let credentialsProvider = AWSCognitoCredentialsProvider(
        regionType: AWSRegionType.usEast2,
        identityPoolId: "us-east-2_myPoolID")

    let configuration = AWSServiceConfiguration(
        region: AWSRegionType.usEast2,
        credentialsProvider: credentialsProvider)

    AWSServiceManager.default().defaultServiceConfiguration = configuration
    let rekognitionClient:AWSRekognition = AWSRekognition.default()
  1. 现在构造请求并在其中设置图像。

    let image = UIImage(named: "MyImage")
    let request = AWSRekognitionDetectLabelsRequest() 
    request.image = image
    request.maxLabels = <num_labels_needed>
    request.minConfidence = <confidence_interval_needed>
    
  2. 现在要比较人脸,请阅读 CompareFacesRequest:https://github.com/aws/aws-sdk-ios/blob/master/AWSRekognition/AWSRekognitionService.m#L288

SDK 中有一个示例测试,用于比较 ObjC 中的两个人脸,但您可以在 Swift 中进行翻译:

https://github.com/aws/aws-sdk-ios/blob/master/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.m#L60

    let key = "testCompareFaces"
    let configuration = AWSServiceConfiguration(region: AWSRegionUSEast2, credentialsProvider: nil)
    AWSRekognition.register(with: configuration, forKey: key)
    AWSRekognition(for: key).compareFaces(AWSRekognitionCompareFacesRequest()).continue(withBlock: {(_ task: AWSTask) -> Any in
        print("completed")

关于ios - 如何在 Swift 3 中使用 AWS Rekognition 比较人脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46483447/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap