我正在致力于将人脸识别实现到iOS应用程序中。我收到了许多标签,比如“眼镜”或“微笑”,但没有看到一个实际的变量来告诉我这是一张人脸(以及以何种程度的置信度)。
我遗漏了什么变量,我们如何使用该功能?
发布于 2019-02-26 22:50:15
我认为你可能没有使用正确的特征类型,因为看起来你得到的是标签而不是面部属性。
我建议你查看Detecting Faces和Face Detection Tutorial文档,在那里你可以找到详细的信息和一些有用的例子,你可以作为参考,以了解更多关于detecting faces与Vision API的过程。
发布于 2019-02-28 04:23:16
您可以按照以下几个步骤从图像中检测人脸。
func createRequest() -> URLRequest?{ //如果让url = URL(string:"YOUR_API_KEY") { var request = URLRequest( URL : url) request.httpMethod = "POST“request.addValue(”应用程序/json“,forHTTPHeaderField:”内容类型“) request.addValue(Bundle.main.bundleIdentifier ??"",forHTTPHeaderField:"X- Ios捆绑标识符“)让jsonRequest =[”请求“:[”功能“:[”类型“:"FACE_DETECTION","maxResults":10 //根据需要更改]让jsonData =尝试?JSONSerialization.data(withJSONObject: jsonRequest) request.httpBody = jsonData return request } return nil }
让task: URLSessionDataTask = URLSession.shared.dataTask(with: request) { ( data,response,error) in guard let = data,error == nil else { print(error?.localizedDescription ??"")task.resume()
DispatchQueue.main.async(execute: {
do {
guard let json =
try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] else { return }
guard let responses = json["responses"] as? NSArray else { return }
if responses.count > 0 {
guard let response = responses.firstObject as? [String: Any] else { return }
guard let faceAnnotations = response["faceAnnotations"] as? NSArray else {
print(false, "No face detected, please try another photo.")
return
}
if faceAnnotations.count > 0 {
print("Face successfully detected: \(faceAnnotations.count)")
} else {
print("No face detected, please try another photo.")
}
} else {
print("Error while face detection process, please try again.")
}
} catch {
print("Error while face detection process, please try again.")
}
})https://stackoverflow.com/questions/54870894
复制相似问题