如何从 iOS 上的照片输出中检索 AVCameraCalibrationData?

The*_*ion 5 camera objective-c camera-calibration ios

我正在寻找与我在 iOS 设备上拍摄的照片相关的镜头畸变系数(注意:不是焦距也不是主点)。据我了解,在 iOS 设备上执行此操作的唯一方法是使用AVCameraCalibrationData. 官方文档仅提供有关如何从 检索相机校准数据的信息AVDepthData,但文档和此 StackOverflow 答案都暗示AVCameraCalibrationData可以与图像一起使用,而不仅仅是深度数据。

AVCameraCalibrationData拍摄图像时是否可以检索信息?如果是这样,是否有有关此功能的文档?

小智 -1

您只能从深度数据输出或照片输出中获取 AVCameraCalibrationData。

\n\n

但是,如果您需要的只是 FOV,则只需要该类提供 \xe2\x80\x94 相机内在矩阵 \xe2\x80\x94 的部分信息,您可以从 AVCaptureVideoDataOutput 获取该信息。

\n\n

在将相机设备连接到捕获会话的 AVCaptureConnection 上设置cameraIntrinsicMatrixDeliveryEnabled。(请注意,您应该首先检查cameraIntrinsicMatrixDeliverySupported;并非所有捕获格式都支持内在函数。)

\n\n

当视频输出提供样本缓冲区时,请检查每个样本缓冲区的附件中的 kCMSampleBufferAttachmentKey_CameraIntrinsicMatrix 键。如 CMSampleBuffer.h 中所述(有人应该提交有关将此信息添加到在线文档中的雷达),该附件的值是一个编码matrix_float3x3的CFData,以及该附件的(0,0)和(1,1)元素矩阵是水平和垂直焦距。

\n