In Swift, is there an easy way to find the focal length of the currently using camera? I am working on an iOS application and I need to use the focal length (in pixels or in mm) of iOS cameras. I found documentation from Apple about the focal length, but there is no information about how to obtain it. Here are two places I have visited:
I have also checked this question but it doesn't seem to solve my problem. I know that the focal length can be calculated using the Field of View as follows:
focal_length_pixels = (image_diagonal_pixels/2)/tan(FOV/2)
but again, there are no guides in computing that quantity.
Could you please help? Thanks.
This function is for those who have the same problem like me before. Basically, we'll have to take a picture, then use the captured picture to detect the focal length:
// 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)")
}