在 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(使用前将#替换为@)