Вопрос:

Как я могу получить данные калибровки камеры на iOS? aka AVCameraCalibrationData

ios computer-vision ios11 arkit avkit

1513 просмотра

1 ответ

43 Репутация автора

Насколько я понимаю, AVCameraCalibrationData доступна только через AVCaptureDepthDataOutput. Это верно?

С другой стороны, AVCaptureDepthDataOutput доступен только с передней камеры iPhone X или задней камеры iPhone Plus, или я ошибаюсь?

То, что я пытаюсь сделать, это получить поле зрения AVCaptureVideoDataOutput SampleBuffer. Особенно это должно соответствовать выбранной предустановке (Full HD, Фото и т. Д.).

Автор: Nicolas Degen Источник Размещён: 04.01.2018 10:41

Ответы (1)


3 плюса

105946 Репутация автора

Решение

Вы можете получить AVCameraCalibrationDataтолько из вывода данных глубины или вывода фотографий.

Однако, если все, что вам нужно, это FOV, вам нужна только часть информации, которую предлагает класс - матрица встроенных функций камеры - и вы можете получить ее самостоятельно AVCaptureVideoDataOutput.

  1. Установите cameraIntrinsicMatrixDeliveryEnabledна AVCaptureConnectionсоединительном устройстве камеры на сессии захвата. (Обратите внимание, что вы должны проверить cameraIntrinsicMatrixDeliverySupportedсначала; не все форматы захвата поддерживают встроенные функции.)

  2. Когда видеовыход отправляет буферы семплов, проверьте вложения каждого буфера семплов для kCMSampleBufferAttachmentKey_CameraIntrinsicMatrixключа. Как отмечено в CMSampleBuffer.h(кто-то должен подать радар о получении этой информации в онлайн-документацию), значение для этого вложения - CFDataкодировка a matrix_float3x3, а элементы (0,0) и (1,1) этой матрицы - горизонтальные и вертикальное фокусное расстояние в пикселях.

Автор: rickster Размещён: 09.01.2018 12:24
Вопросы из категории :
32x32