Spec-Zone.ru › PointCloudLibrary

Структура данных для хранения результатов подгонки MLS. Подробнее...

#include <pcl/surface/mls.h>

Классы

struct MLSProjectionResults
Структура данных для хранения результатов проекции MLS. Подробнее...
struct PolynomialPartialDerivative
Структура данных для хранения частных производных многочлена MLS. Подробнее...

Открытые типы

перечисление ProjectionMethod { NONE , SIMPLE , ORTHOGONAL }

Общедоступные члены функций

MLSResult ()
MLSResult (const Eigen::Vector3d &a_query_point, const Eigen::Vector3d &a_mean, const Eigen::Vector3d &a_plane_normal, const Eigen::Vector3d &a_u, const Eigen::Vector3d &a_v, const Eigen::VectorXd &a_c_vec, const int a_num_neighbors, const float a_curvature, const int a_order)
void getMLSCoordinates (const Eigen::Vector3d &pt, double &u, double &v, double &w) const
Вычисление 3D координат точки в системе координат MLS. Подробнее...
void getMLSCoordinates (const Eigen::Vector3d &pt, double &u, double &v) const
Вычисление 2D координат точки в системе координат MLS. Подробнее...
double getPolynomialValue (const double u, const double v) const
Вычисление значения многочлена. Подробнее...
PolynomialPartialDerivative getPolynomialPartialDerivative (const double u, const double v) const
Вычисление частных производных первого и второго порядка многочлена. Подробнее...
Eigen::Vector2f calculatePrincipalCurvatures (const double u, const double v) const
Вычисление главных кривизн с использованием полиномиальной поверхности. Подробнее...
Eigen::Vector2f calculatePrincipleCurvatures (const double u, const double v) const
Вычисление главных кривизн с использованием полиномиальной поверхности. Подробнее...
MLSProjectionResults projectPointOrthogonalToPolynomialSurface (const double u, const double v, const double w) const
Проекция точки ортогонально на полиномиальную поверхность. Подробнее...
MLSProjectionResults projectPointToMLSPlane (const double u, const double v) const
Проекция точки на плоскость MLS. Подробнее...
MLSProjectionResults projectPointSimpleToPolynomialSurface (const double u, const double v) const
Проекция точки вдоль нормали к полиномиальной поверхности, используя плоскость MLS. Подробнее...
MLSProjectionResults projectPoint (const Eigen::Vector3d &pt, ProjectionMethod method, int required_neighbors=0) const
Проекция точки с использованием указанного метода. Подробнее...
MLSProjectionResults projectQueryPoint (ProjectionMethod method, int required_neighbors=0) const
Проекция точки запроса, используемой для построения поверхности mls, с использованием указанного метода. Подробнее...
template<typename PointT >
void computeMLSSurface (const pcl::PointCloud< PointT > &cloud, pcl::index_t index, const pcl::Indices &nn_indices, double search_radius, int polynomial_order=2, std::function< double(const double)> weight_func={})
Сглаживание заданной точки и ее окрестности с помощью метода наименьших квадратов (MLS). Подробнее...

Публичные атрибуты

Eigen::Vector3d query_point
Точка запроса, для которой была сгенерирована поверхность mls. Подробнее...
Eigen::Vector3d mean
Средняя точка всех соседей. Подробнее...
Eigen::Vector3d plane_normal
Нормаль к локальной плоскости точки запроса. Подробнее...
Eigen::Vector3d u_axis
Ось, соответствующая u-координатам локальной плоскости точки запроса. Подробнее...
Eigen::Vector3d v_axis
Ось, соответствующая v-координатам локальной плоскости точки запроса. Подробнее...
Eigen::VectorXd c_vec
Коэффициенты многочлена Пример: z = c_vec[0] + c_vec[1]*v + c_vec[2]*v^2 + c_vec[3]*u + c_vec[4]*u*v + c_vec[5]*u^2. Подробнее...
int num_neighbors
Количество соседей, используемых для создания поверхности mls. Подробнее...
float curvature
Кривизна в точке запроса. Подробнее...
int order
Порядок многочлена. Подробнее...
bool valid
Если True, данные результатов mls валидны, иначе False. Подробнее...

Подробное описание

Структура данных, используемая для хранения результатов подгонки MLS.

Определение в строке 59 файла mls.h.

Документация перечисления членов

ProjectionMethod

enum pcl::MLSResult::ProjectionMethod
Перечисление
NONE

Проектировать на плоскость mls.

SIMPLE

Проектировать вдоль нормали к плоскости mls на поверхность многочлена.

ORTHOGONAL

Проектировать на ближайшую точку на поверхности многочлена.

Определение в строке 61 файла mls.h.

Документация конструкторов и деструкторов

MLSResult() [1/2]

pcl::MLSResult::MLSResult ( )
inline

Определение в строке 92 файла mls.h.

MLSResult() [2/2]

pcl::MLSResult::MLSResult ( const Eigen::Vector3d & a_query_point,
const Eigen::Vector3d & a_mean,
const Eigen::Vector3d & a_plane_normal,
const Eigen::Vector3d & a_u,
const Eigen::Vector3d & a_v,
const Eigen::VectorXd & a_c_vec,
const int a_num_neighbors,
const float a_curvature,
const int a_order
)
inline

Определение в строке 439 файла mls.hpp.

Документация функций-членов

calculatePrincipalCurvatures()

Eigen::Vector2f pcl::MLSResult::calculatePrincipalCurvatures ( const double u,
const double v
) const

Вычисление главных кривизн с использованием полиномиальной поверхности.

Параметры
[in] u Координата u точки в локальной системе координат MLS.
[in] v Координата v точки в локальной системе координат MLS.
Возвращает
Главные кривизны [k1, k2] в заданных координатах uv.
Примечание
В случае ошибки возвращается 1e-5.

Используется в calculatePrincipleCurvatures().

calculatePrincipleCurvatures()

Eigen::Vector2f pcl::MLSResult::calculatePrincipleCurvatures ( const double u,
const double v
) const
inline

Вычисление главных кривизн с использованием полиномиальной поверхности.

Параметры
[in] u Координата u точки в локальной системе координат MLS.
[in] v Координата v точки в локальной системе координат MLS.
Возвращает
Главные кривизны [k1, k2] в заданных координатах uv.
Примечание
В случае ошибки возвращается 1e-5.
Устаревшее:
Планируется к удалению в версии 1.15: "используйте calculatePrincipalCurvatures() вместо этого"

Определение в строке 155 файла mls.h.

Ссылки на calculatePrincipalCurvatures().

computeMLSSurface()

template<typename PointT >
void pcl::MLSResult::computeMLSSurface ( const pcl::PointCloud< PointT > & cloud,
pcl::index_t index,
const pcl::Indices & nn_indices,
double search_radius,
int polynomial_order = 2,
std::function< double(const double)> weight_func = {}
)

Сглаживание заданной точки и ее окрестности с помощью метода наименьших квадратов.

Параметры
[in] cloud облако точек, используется совместно с index и nn_indices
[in] index индекс целевой точки в облаке точек
[in] nn_indices набор индексов ближайших соседей для pt
[in] search_radius радиус поиска ближайших соседей для pt
[in] polynomial_order степень полинома, подгоняемого под ближайших соседей
[in] weight_func определяет функцию весов для полиномиальной аппроксимации

getMLSCoordinates() [1/2]

void pcl::MLSResult::getMLSCoordinates ( const Eigen::Vector3d & pt,
double & u,
double & v
) const
inline

Вычисление 2D координат точки в системе координат MLS.

Параметры
[in] pt Точка
[out] u Координата u точки в локальной системе координат MLS.
[out] v Координата v точки в локальной системе координат MLS.

getMLSCoordinates() [2/2]

void pcl::MLSResult::getMLSCoordinates ( const Eigen::Vector3d & pt,
double & u,
double & v,
double & w
) const
inline

Вычисление 3D координат точки в системе координат MLS.

Параметры
[in] pt Точка
[out] u Координата u точки в локальной системе координат MLS.
[out] v Координата v точки в локальной системе координат MLS.
[out] w Координата w точки в локальной системе координат MLS.

getPolynomialPartialDerivative()

pcl::MLSResult::PolynomialPartialDerivative pcl::MLSResult::getPolynomialPartialDerivative ( const double u,
const double v
) const
inline

Вычислить частные производные первого и второго порядка полинома.

Параметры
[вход] u Координата u точки в локальной системе координат MLS.
[вход] v Координата v точки в локальной системе координат MLS.
Возвращает
Частные производные полинома в заданных координатах uv.

Определение в строке 492 файла mls.hpp.

getPolynomialValue()

double pcl::MLSResult::getPolynomialValue ( const double u,
const double v
) const
inline

Вычислить значение полинома.

Параметры
[вход] u Координата u точки в локальной системе координат MLS.
[вход] v Координата v точки в локальной системе координат MLS.
Возвращает
Значение полинома в заданных координатах uv.

Определение в строке 470 файла mls.hpp.

projectPoint()

pcl::MLSResult::MLSProjectionResults pcl::MLSResult::projectPoint ( const Eigen::Vector3d & pt,
ProjectionMethod method,
int required_neighbors = 0
) const
inline

Проецировать точку, используя указанный метод.

Параметры
[вход] pt Точка, подлежащая проецированию.
[вход] method Метод проецирования.
[вход] required_neighbors Минимальное количество необходимых соседей.
Примечание
Если required_neighbors равно 0, то разрешено любое количество соседей.
Если required_neighbors не выполняется, то происходит проекция на плоскость mls.
Возвращает
MLSProjectionResults для входных данных.

Определение в строке 637 файла mls.hpp.

projectPointOrthogonalToPolynomialSurface()

pcl::MLSResult::MLSProjectionResults pcl::MLSResult::projectPointOrthogonalToPolynomialSurface ( const double u,
const double v,
const double w
) const
inline

Проектировать точку ортогонально к поверхности полинома.

Параметры
[вход] u Координата u точки в локальной системе координат MLS.
[вход] v Координата v точки в локальной системе координат MLS.
[вход] w Координата w точки в локальной системе координат MLS.
Возвращает
MLSProjectionResults для входных данных.
Примечание
Если MLSResults не содержит данных полинома, то точка проецируется на плоскость mls.
Если оптимизация расходится, выполняется простая проекция на поверхность полинома.
Реализация основана на https://math.stackexchange.com/questions/1497093/shortest-distance-between-point-and-surface

Определение в строке 537 файла mls.hpp.

projectPointSimpleToPolynomialSurface()

pcl::MLSResult::MLSProjectionResults pcl::MLSResult::projectPointSimpleToPolynomialSurface ( const double u,
const double v
) const
inline

Проецировать точку вдоль нормали плоскости MLS к полиномиальной поверхности.

Параметры
[вход] u Координата u точки в локальной системе координат MLS.
[вход] v Координата v точки в локальной системе координат MLS.
Возвращает
MLSProjectionResults для входных данных.
Примечание
Если MLSResults не содержат полиномиальные данные, точка проецируется на плоскость mls.

Определение в строке 614 файла mls.hpp.

Ссылки на pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::MLSProjectionResults::point, pcl::MLSResult::MLSProjectionResults::u, pcl::MLSResult::MLSProjectionResults::v, pcl::MLSResult::PolynomialPartialDerivative::z, pcl::MLSResult::PolynomialPartialDerivative::z_u, и pcl::MLSResult::PolynomialPartialDerivative::z_v.

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal().

projectPointToMLSPlane()

pcl::MLSResult::MLSProjectionResults pcl::MLSResult::projectPointToMLSPlane ( const double u,
const double v
) const
inline

Проецировать точку на плоскость MLS.

Параметры
[вход] u Координата u точки в локальной системе координат MLS.
[вход] v Координата v точки в локальной системе координат MLS.
Возвращает
MLSProjectionResults для входных данных.

Определение в строке 602 файла mls.hpp.

Ссылки на pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::MLSProjectionResults::point, pcl::MLSResult::MLSProjectionResults::u, и pcl::MLSResult::MLSProjectionResults::v.

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal().

projectQueryPoint()

pcl::MLSResult::MLSProjectionResults pcl::MLSResult::projectQueryPoint ( ProjectionMethod method,
int required_neighbors = 0
) const
inline

Проецировать точку запроса, используемую для создания поверхности mls, используя указанный метод.

Параметры
[вход] method Метод проекции.
[вход] required_neighbors Минимальное количество соседей.
Примечание
Если required_neighbors равно 0, то разрешается любое количество соседей.
Если required_neighbors не удовлетворено, проецируется на плоскость mls.
Возвращает
MLSProjectionResults для входных данных.

Определение в строке 659 файла mls.hpp.

Ссылки на pcl::MLSResult::MLSProjectionResults::normal, и pcl::MLSResult::MLSProjectionResults::point.

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal().

Документация по данным членов

c_vec

Eigen::VectorXd pcl::MLSResult::c_vec

Коэффициенты полинома. Пример: z = c_vec[0] + c_vec[1]*v + c_vec[2]*v^2 + c_vec[3]*u + c_vec[4]*u*v + c_vec[5]*u^2.

Определение в строке 230 файла mls.h.

curvature

float pcl::MLSResult::curvature

Кривизна в точке запроса.

Определение в строке 232 файла mls.h.

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal().

mean

Eigen::Vector3d pcl::MLSResult::mean

Средняя точка всех соседей.

Определение в строке 226 файла mls.h.

num_neighbors

int pcl::MLSResult::num_neighbors

Число соседей, используемых для создания поверхности mls.

Определение в строке 231 файла mls.h.

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal().

order

int pcl::MLSResult::order

Порядок полинома.

Если order > 1, то используется полиномиальная аппроксимация

Определение в строке 233 файла mls.h.

plane_normal

Eigen::Vector3d pcl::MLSResult::plane_normal

Нормаль к локальной плоскости точки запроса.

Определение в строке 227 файла mls.h.

query_point

Eigen::Vector3d pcl::MLSResult::query_point

Точка запроса, относительно которой была сгенерирована поверхность mls.

Определение в строке 225 файла mls.h.

u_axis

Eigen::Vector3d pcl::MLSResult::u_axis

Ось, соответствующая u-координатам локальной плоскости точки запроса.

Определение в строке 228 файла mls.h.

v_axis

Eigen::Vector3d pcl::MLSResult::v_axis

Ось, соответствующая v-координатам локальной плоскости точки запроса.

Определение в строке 229 файла mls.h.

valid

bool pcl::MLSResult::valid

Если True, данные результатов mls валидны, иначе False.

Определение в строке 234 файла mls.h.


Документация для этой структуры была сгенерирована из следующих файлов:
  • pcl/surface/mls.h
  • pcl/surface/impl/mls.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/structpcl_1_1_m_l_s_result.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API