在Swift中,有没有一种简单的方法可以找到当前使用的相机的焦距?
我正在开发一个iOS应用程序,我需要使用iOS相机的焦距(像素或毫米)。我从苹果公司找到了关于焦距的文档,但没有关于如何获取焦距的信息。我去过两个地方:
mdlcamera
coreimage
我也检查过this question,但它似乎无法解决我的问题。
我知道焦距可以用视场计算如下:

focal_length_pixels = (image_diagonal_pixels/2)/tan(FOV/2)

但同样,在计算这个数量时没有指南。
你能帮忙吗?
谢谢。

最佳答案

这个功能是为那些像我一样有同样问题的人。基本上,我们需要拍摄一张照片,然后使用拍摄的照片检测焦距:

    // delegate method for the image picker
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

        let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
        let exifdata = metadata!["{Exif}"] as! NSDictionary

        // focal length
        let focalLength = exifdata["FocalLength"] as! Double

        print("Focal length \(focalLength)")
    }

08-25 22:43