Нормалы от проективной глубины - PullRequest
0 голосов
/ 08 мая 2018

Я хочу вычислить карту нормалей N(i,j) из карты глубины D(i,j), где (i,j) описывает местоположение в 2D пикселях. Базовый случай этой проблемы обсуждается здесь: Рассчитать нормали поверхности по глубине изображения с использованием перекрестного произведения соседних пикселей

В моем случае, однако, D(i,j) - это проекционная глубина: 3D-объект (заданный набором 3D-точек) проецируется на 2D-изображение с использованием встроенной матрицы камеры [K|0] (см. ниже для определения) путем умножения каждой трехмерной точки в однородных координатах (то есть четырехмерном векторе [x,y,z,1].T) на [K|0]. В этом случае D(i,j) соответствует норме трехмерной точки, чей пиксель попадания проекции (i,j).

Матрица встроенной камеры задается

[K|0] = |fx  0  ox 0|
        | 0 fy  oy 0|
        | 0  0   1 0|

где fx / fy - фокусные расстояния по осям x / y, а ox / oy - смещения камеры по осям x / y.

С учетом этой настройки, каковы нормальные значения N(i,j)?

...