如何从AVCapturePhoto获取元数据值?

时间:2017-10-19 19:39:31

标签: ios swift avfoundation avcapturesession

我目前正致力于使用AVFoundation捕获图像。由于我想在Vision Framework工作流程中使用捕获的图像,因此在将其转换为UIImage时需要它的方向。我怎样才能做到这一点? 从文档中我发现AVCapturePhoto有一个.metadata字典来访问该信息,但如果我使用相应的密钥,我的结果就是nil。

这是我的捕获例程的委托方法:

    func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    // capture image finished
    print("Image captured.")
    print(photo)
    print(photo.metadata["kCGImagePropertyOrientation"]) // CGImageProperties for metadata keys for value retrieval.

我在" CGImageProperties>个人图像属性"下找到了密钥。打印(照片)确实向我显示实际捕获的图像,返回:

  

AVCapturePhoto:0x1c1013940 pts:98386.095931 1/1设置:uid:3照片:{4032x3024 SIS:ON}

请在Swift中回答。 :)

谢谢!

1 个答案:

答案 0 :(得分:3)

我想,你在寻找的是:

photo.metadata["Orientation"]

photo.metadata[String(kCGImagePropertyOrientation)]

我希望它会对你有所帮助。

最佳! 阿尼亚