Я хочу вычислить карту нормалей 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)
?