Я пытаюсь реализовать алгоритм Space / Voxel Carving, который использует силуэты объекта под разными углами и вырезает воксель, который не попадает в замаскированную область.
Для этого я проделал следующие шаги: 1) Получить внутреннюю c матрицу камеры 2) Получить внешние c матрицы для положений камеры на каждом изображении 3) Замаскировать интересующий объект.
Итак, я хотел создать куб вокселей и спроецировать каждый воксель в 2D, используя матрицу проекции для одного изображения и формулу x=P[R|t]X
. И вот моя проблема. Я не могу найти значения x, y и z для куба. Если я, например, создаю куб 5x5x5 с вокселями: (0,0,0), (0,0,1), ...
, 2D-координаты будут намного больше, чем размер изображения. Кто-нибудь знает, как это решить?