获取iOS设备的焦距

2024-01-06

在 Swift 中,有没有一种简单的方法可以找到当前使用的相机的焦距? 我正在开发一个 iOS 应用程序,我需要使用 iOS 相机的焦距(以像素或毫米为单位)。我找到了Apple关于焦距的文档,但没有关于如何获取它的信息。这是我去过的两个地方:

  • 数码相机 https://developer.apple.com/documentation/modelio/mdlcamera/1392015-focallength
  • 核心图像 https://developer.apple.com/documentation/coreimage/cidetectorfocallength

我也查过这个问题 https://stackoverflow.com/questions/13190932/how-to-find-out-focal-length-of-camera-in-ios-and-what-is-the-sensor-height但这似乎并不能解决我的问题。 我知道焦距可以使用视野计算如下:

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)")
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取iOS设备的焦距 的相关文章

随机推荐