Если вам известна точка обзора, с которой была захвачена каждая точка, ее можно использовать для ориентирования нормалей. Я предполагаю, что это не тот случай - поэтому, учитывая вашу ситуацию, которая кажется довольно водонепроницаемой и равномерно выбранной, me sh реконструкция является многообещающей.
Библиотека PCL предлагает множество альтернатив в поверхностный модуль . Для нормальной оценки я бы начал с:
Несмотря на простоту, их должно быть достаточно для создания единого связного me sh.
Как только у вас есть me sh, каждый треугольник определяет нормаль (перекрестное произведение). Важно отметить, что я sh - это не просто набор независимых лиц. Грани связаны, и эта связь обеспечивает согласованную ориентацию по me sh.
pcl::PolygonMesh
- это " структура данных с половинным краем ". Это означает, что каждая грань треугольника определяется упорядоченным набором вершин, который определяет ориентацию: порядок вершин => порядок перекрестного произведения => четко определенные однозначные нормали
Вы можете либо используйте нормали от me sh (ближайший сосед) или рассчитайте низкое разрешение me sh и просто используйте его для ориентации облака.