Как использовать автофокус вместе с трехмерной реконструкцией, используя python opencv - PullRequest
0 голосов
/ 03 мая 2020

Постановка проблемы

Я выполнял 3D-реконструкцию, используя веб-камеру Logitech с фиксированным объективом. Каждый раз, когда я меняю расстояние между сценой и камерой, мне нужно вручную отрегулировать фокусировку объектива вручную. (Откройте крышку и поверните ручку объектива), что очень неудобно. Поэтому я решил использовать новую веб-камеру с функцией автофокуса (Logitech C922) и собираюсь использовать ее в проекте. чем я заметил тогда, когда изменение фокуса, изображение немного изменить не только размытость и резкость, а также масштабирование. Я читал статью о калибровке камеры, там говорилось, что я должен фиксировать длину фокусировки при калибровке и использовать ту же длину фокусировки при запуске приложения. Это означает, что мне нужно выполнять повторную калибровку каждый раз, когда я использую камеру в новой среде (изменение расстояния приводит к изменению длины фокусировки).

Вопрос

  1. Длина фокусировки только перемещает объектив С помощью датчика изображения, можно ли найти отношение значения фокуса камеры к матрице камеры (intrinsi c и extrinsi c) и как?
  2. Как использовать камеру в разных расстояниях без повторной калибровки?

1 Ответ

1 голос
/ 04 мая 2020
  1. С дешевой веб-камерой? Нет.
  2. Получите лучшую линзу с большей глубиной резкости и / или диафрагмой, которую можно закрыть

Отредактировано

Под «дешевой веб-камерой» выше я подразумеваю любую комбинацию камеры / объектива с автофокусировкой без (a) высокой повторяемости фокусировки и (b) программного c доступа к настройке управления фокусировкой объектива. Точка (а) - конечно - требуется для любой формы калибровки. Точка (b) позволяет построить таблицу параметров калибровки, основанную на настройке фокуса. Я видел, как это было сделано в некоторых приложениях, где динамическая фокусировка была неизбежным требованием, но необходимое снаряжение, как правило, очень дорого и стоило agile.

...