Точное и текущее FieldOfView AVCaptureDevice

От AVFoundation такие объекты, как AVCaptureDevice Я могу прочитать значение fieldOfView с помощью

captureDevice.activeFormat.videoFieldOfView

И это дает мне значение около 58 градусов на iPhone 6s. Но мне нужно получить текущее значение фактического fieldOfView отображается в текущем кадре, в то время как AVCaptureSession бежит. Я имею в виду, что значение читается из activeFormat не отражает реальное fieldOfView когда объектив перемещается, чтобы получить изображение в фокусе. Например, когда я указываю камеру на удаленный объект, объектив перемещается, чтобы удерживать фокус, и fieldOfView немного увеличивается, примерно до 61 градуса. Вы можете наблюдать это поведение в ARKit камера - даже когда камера ловит фокус, отображаемые объекты фокусируются все больше и меньше вместе с предварительным просмотром с камеры. Я хотел бы знать, как я могу добиться такого поведения и настроить fieldOfView в текущую позицию объектива. Мне нужно применить это к SceneKit камера.

В кратчайший путь: Как найти текущий точный FieldOfView камеры с учетом текущего положения фокуса (или положения объектива)

Чтобы понять, что я имею в виду, посмотрите на этот рисунок:

Сосредоточиться на iPhone

В начале вы можете видеть его фокусировку, и видео вроде как немного увеличивает / уменьшает изображение, чтобы поймать правильное положение объектива. Поэтому, когда этот объектив движется фактическим видимым fieldOfView становится немного по-другому.

0 ответов

Другие вопросы по тегам