Получение встроенных функций камеры из PyRender PerspectiveVamera

С помощью PyRender я пытаюсь создать облако точек из карты глубины, которую я визуализировал с помощью PerspectiveCamera . Для этого мне понадобятся внутренние параметры камеры. Есть ли простой способ получить эти параметры? Я попробовал следующее, что явно кажется неправильным, однако других подходов я пока не нашел:

      f=(image_width/2)/math.tan(camera.yfov)
s=0
y0 = image_height/2
x0 = image_width/2

intrinsics = np.array(
[[f, s, x0],
[0, f, y0],
[0, 0, 1]])

1 ответ

Достаточно близко. Ваше уравнение для f имеет правильную форму. Незначительные проблемы.

Вы

  • путать x/y и ширину/высоту
  • отсутствует /2 внутри tan()
  • и немного -1 в cx,cy, что должно быть точно (ширина-1)/2, (высота-1)/2

И не обращайте внимания на стрижку, как и все остальные.

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