所以我一直在尝试使用AWSRekognition SDK来检测图像中的面部和标签。但是,亚马逊没有关于如何将SDK与iOS集成的文档。他们有链接,显示如何使用Rekognition(开发人员指南),仅使用Java中的示例,并且非常有限。
Amazon Rekognition Developer Guide
如果您单击他们的“iOS文档”,它会将您带到一般iOS文档页面,在任何部分都没有Rekognition的迹象。
我想知道是否有人知道如何在 Swift 3 中集成AWS Rekognition。如何初始化它并使用图像发出请求,接收带有标签的响应。
我已经下载了AWSRekognition.framework
和AWSCore.framework
并将其添加到我的项目中。我也在我的AppDelegate.swift
中导入了这两个并初始化了我的AWS凭证。
let credentialsProvider = AWSCognitoCredentialsProvider(
regionType: AWSRegionType.usEast1,
identityPoolId: "us-east-1_myPoolID")
let configuration = AWSServiceConfiguration(
region: AWSRegionType.usEast1,
credentialsProvider: credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
此外,我尝试初始化Rekognition并构建一个请求:
do {
let rekognitionClient:AWSRekognition = AWSRekognition(forKey: "Maybe a Key from AWS?")
let request: AWSRekognitionDetectLabelsRequest = try AWSRekognitionDetectLabelsRequest(dictionary: ["image": UIImage(named:"TestImage")!, "maxLabels":3, "minConfidence":90], error: (print("error")))
rekognitionClient.detectLabels(request) { (response:AWSRekognitionDetectLabelsResponse?, error:Error?) in
if error == nil {
print(response!)
}
}
} catch {
print("Error")
}
非常感谢!
答案 0 :(得分:4)
Rekognition iOS SDK的网络文档缺乏,但SDK代码中的注释对我很有帮助。如果您在Xcode中单击关键字时按住 Cmd ,您应该能够在评论中找到所需的所有信息。
从这里您可以看到Key指的是您可以使用registerRekognitionWithConfiguration
执行的先前注册的客户端,但是您可以使用默认的Karthik提及的方式跳过所有这些:
let rekognitionClient = AWSRekognition.defaultRekognition()
我一直在处理人脸检测,所以我没有在我自己的代码中使用AWSRekognitionDetectLabelsRequest
,但我认为你可能出错的地方是image
属性{{1}你应该传递AWSRekognitionDetectLabelsRequest
而不是AWSRekognitionImage
。你可以调用UIImage
从UIImage获取原始字节。
UIImageJPEGRepresentation
如果您也单独设置请求属性,那么调试也应该更容易。
答案 1 :(得分:-1)
if($message == "Bot copy me")
{
sendMessage($chatid, "Sure?");
}