Как оценить / определить нормали поверхности и касательные плоскости в точках изображения глубины?

У меня есть изображение глубины, которое я сгенерировал, используя данные 3D CAD. Это глубинное изображение также может быть получено с датчика глубины, например, Kinect или стереокамеры. Так что в основном это карта глубины точек, видимых на изображении. Другими словами, это сегментированное облако точек объекта с определенной точки зрения.

Я хотел бы определить (оценка также подойдет) нормали поверхности каждой точки, а затем найти касательную плоскость этой точки.

Как я могу это сделать? Я провел некоторые исследования и нашел некоторые методы, но не очень хорошо их понял (я не смог их реализовать). Что еще более важно, как я могу сделать это в Matlab или OpenCV? Я не мог сделать это с помощьюsurfnorm команда. AFAIK это нуждается в единственной поверхности, и у меня есть частичные поверхности в моем изображении глубины.

Это пример глубины изображения.

[РЕДАКТИРОВАТЬ]

Что я хочу сделать, так это то, что после того, как я получу нормальную поверхность в каждой точке, я создам касательные плоскости в этих точках. Затем используйте эти касательные плоскости, чтобы решить, исходит ли эта точка из плоской области или нет, взяв сумму расстояний соседних точек до касательной плоскости.

[РЕДАКТИРОВАТЬ]

Ответы на вопрос(3)

Ваш ответ на вопрос