Spec-Zone.ru › PointCloudLibrary

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

Обзор

Библиотека pcl_features содержит структуры данных и механизмы для оценки 3D-признаков по данным облака точек. 3D-признаки — это представления в определённой 3D-точке или положении в пространстве, описывающие геометрические закономерности на основе информации, доступной в окрестности этой точки. Область данных, выбранная вокруг точки запроса, обычно называется k-окрестностью.

На следующем рисунке показан простой пример выбранной точки запроса и её k-окрестности.

Примерами двух наиболее широко используемых геометрических признаков точек являются оценённые кривизна и нормаль базовой поверхности в точке запроса p. Оба считаются локальными признаками, поскольку характеризуют точку с использованием информации, предоставляемой её k ближайшими соседними точками. Чтобы эффективно находить этих соседей, входной набор данных обычно разбивают на более мелкие фрагменты с помощью методов пространственной декомпозиции, таких как октодеревья или kD-деревья (см. рисунок ниже: слева — kD-дерево, справа — октодерево), а затем выполняют поиск ближайших точек в этом пространстве. В зависимости от приложения можно выбрать поиск либо фиксированного числа k точек в окрестности p, либо всех точек, находящихся внутри сферы радиуса r с центром в p. Несомненно, один из самых простых методов оценки нормалей поверхности и изменений её кривизны в точке p — выполнить разложение на собственные значения (то есть вычислить собственные векторы и собственные значения) поверхностного участка k-окрестности. Таким образом, собственный вектор, соответствующий наименьшему собственному значению, приближённо задаёт нормаль поверхности n в точке p, а изменение кривизны поверхности оценивается по собственным значениям следующим образом:

$\frac{\lambda_0}{\lambda_0 + \lambda_1 + \lambda_2}$, где $\lambda_0 < \lambda_1 < \lambda_2$.

Дополнительную информацию можно найти на сайте http://www.pointclouds.org.

Требования

  • common
  • search
  • kdtree
  • octree
  • range_image

Классы

класс pcl::ShapeContext3DEstimation< PointInT, PointNT, PointOutT >
ShapeContext3DEstimation реализует дескриптор 3D-контекста формы, описанный в: Подробнее...
класс pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >
BOARDLocalReferenceFrameEstimation реализует алгоритм BOrder Aware Repeatable Directions для оценки локальной системы координат, описанный здесь: Подробнее...
класс pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >
BoundaryEstimation определяет, лежит ли набор точек на границах поверхности, используя угловой критерий. Подробнее...
класс pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >
Реализация дескриптора BRISK на основе исходного кода и статьи автора. Подробнее...
класс pcl::CRHEstimation< PointInT, PointNT, PointOutT >
CRHEstimation вычисляет дескриптор гистограммы поворота камеры (CRH) для набора данных облака точек, содержащего данные XYZ и нормали, как описано в: Подробнее...
класс pcl::CVFHEstimation< PointInT, PointNT, PointOutT >
CVFHEstimation вычисляет дескриптор кластеризованной гистограммы признаков точки обзора (CVFH) для набора данных облака точек, содержащего данные XYZ и нормали, как описано в: Подробнее...
класс pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >
Реализация масштабного фильтра разности нормалей (DoN) для данных облака точек. Подробнее...
класс pcl::ESFEstimation< PointInT, PointOutT >
ESFEstimation вычисляет дескрипторы ансамбля функций формы для набора данных облака точек, содержащего точки. Подробнее...
класс pcl::Feature< PointInT, PointOutT >
Feature — базовый класс признаков. Подробнее...
класс pcl::FeatureWithLocalReferenceFrames< PointInT, PointRFT >
FeatureWithLocalReferenceFrames предоставляет открытый интерфейс для классов извлечения дескрипторов, которым необходима локальная система координат для каждой входной ключевой точки. Подробнее...
класс pcl::FLARELocalReferenceFrameEstimation< PointInT, PointNT, PointOutT, SignedDistanceT >
FLARELocalReferenceFrameEstimation реализует алгоритм Fast LocAl Reference framE для оценки локальной системы координат, описанный здесь: Подробнее...
класс pcl::FPFHEstimation< PointInT, PointNT, PointOutT >
FPFHEstimation вычисляет дескриптор быстрой гистограммы признаков точки (FPFH) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >
FPFHEstimationOMP вычисляет дескриптор быстрой гистограммы признаков точки (FPFH) для набора данных облака точек, содержащего точки и нормали, параллельно с использованием стандарта OpenMP. Подробнее...
класс pcl::GASDEstimation< PointInT, PointOutT >
GASDEstimation вычисляет дескриптор глобально выровненного пространственного распределения (GASD) для набора данных облака точек с данными XYZ. Подробнее...
класс pcl::GASDColorEstimation< PointInT, PointOutT >
GASDColorEstimation вычисляет дескриптор глобально выровненного пространственного распределения (GASD) для набора данных облака точек с данными XYZ и RGB. Подробнее...
класс pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >
GFPFHEstimation вычисляет дескриптор глобальной быстрой гистограммы признаков точки (GFPFH) для набора данных облака точек, содержащего точки и метки. Подробнее...
класс pcl::GRSDEstimation< PointInT, PointNT, PointOutT >
GRSDEstimation вычисляет глобальный дескриптор поверхности на основе радиуса (GRSD) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::IntensityGradientEstimation< PointInT, PointNT, PointOutT, IntensitySelectorT >
IntensityGradientEstimation вычисляет градиент интенсивности для облака точек, содержащего значения координат и интенсивности. Подробнее...
класс pcl::IntensitySpinEstimation< PointInT, PointOutT >
IntensitySpinEstimation вычисляет дескрипторы спин-изображений в области интенсивности для набора данных облака точек, содержащего точки и значения интенсивности. Подробнее...
класс pcl::MomentInvariantsEstimation< PointInT, PointOutT >
MomentInvariantsEstimation вычисляет три инварианта моментов (j1, j2, j3) для каждой 3D-точки. Подробнее...
класс pcl::Narf
NARF (радиальные признаки, выровненные по нормалям) — тип дескриптора признаков точек для 3D-данных. Подробнее...
класс pcl::NarfDescriptor
Вычисляет дескрипторы признаков NARF для точек изображения дальности. См. B. Подробнее...
класс pcl::NormalEstimation< PointInT, PointOutT >
NormalEstimation вычисляет локальные свойства поверхности (нормали и кривизну поверхности) в каждой 3D-точке. Подробнее...
класс pcl::NormalEstimationOMP< PointInT, PointOutT >
NormalEstimationOMP параллельно вычисляет локальные свойства поверхности в каждой 3D-точке, например нормали и кривизну поверхности, с использованием стандарта OpenMP. Подробнее...
класс pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >
OURCVFHEstimation вычисляет дескриптор ориентированной, уникальной и повторяемой кластеризованной гистограммы признаков точки обзора (CVFH) для набора данных облака точек с данными XYZ и нормалями, как описано в: Подробнее...
класс pcl::PFHEstimation< PointInT, PointNT, PointOutT >
PFHEstimation вычисляет дескриптор гистограммы признаков точки (PFH) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::PFHRGBEstimation< PointInT, PointNT, PointOutT >
Похож на дескриптор гистограммы признаков точки, но также учитывает цвет. Подробнее...
класс pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >
PrincipalCurvaturesEstimation вычисляет направления (собственные векторы) и величины (собственные значения) главных кривизн поверхности для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::RangeImageBorderExtractor
Извлекает границы препятствий из изображений дальности — области перехода от переднего плана к фону. Подробнее...
класс pcl::RIFTEstimation< PointInT, GradientT, PointOutT >
RIFTEstimation вычисляет дескрипторы Rotation Invariant Feature Transform для набора данных облака точек, содержащего точки и значения интенсивности. Подробнее...
класс pcl::RSDEstimation< PointInT, PointNT, PointOutT >
RSDEstimation вычисляет дескриптор поверхности на основе радиуса (минимальный и максимальный радиус кривых локальной поверхности) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >
SHOTEstimation вычисляет дескриптор Signature of Histograms of OrienTations (SHOT) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::SHOTEstimation< PointInT, PointNT, PointOutT, PointRFT >
SHOTEstimation вычисляет дескриптор Signature of Histograms of OrienTations (SHOT) для набора данных облака точек, содержащего точки и нормали. Подробнее...
класс pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >
SHOTColorEstimation вычисляет дескриптор Signature of Histograms of OrienTations (SHOT) для набора данных облака точек, содержащего точки, нормали и цвета. Подробнее...
класс pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >
SHOTLocalReferenceFrameEstimation вычисляет локальную систему координат, используемую при вычислении дескриптора (SHOT). Подробнее...
класс pcl::SHOTLocalReferenceFrameEstimationOMP< PointInT, PointOutT >
SHOTLocalReferenceFrameEstimation вычисляет локальную систему координат, используемую при вычислении дескриптора (SHOT). Подробнее...
класс pcl::SHOTEstimationOMP< PointInT, PointNT, PointOutT, PointRFT >
SHOTEstimationOMP параллельно вычисляет дескриптор Signature of Histograms of OrienTations (SHOT) для набора данных облака точек, содержащего точки и нормали, с использованием стандарта OpenMP. Подробнее...
класс pcl::SHOTColorEstimationOMP< PointInT, PointNT, PointOutT, PointRFT >
SHOTColorEstimationOMP параллельно вычисляет дескриптор Signature of Histograms of OrienTations (SHOT) для набора данных облака точек, содержащего точки, нормали и цвета, с использованием стандарта OpenMP. Подробнее...
класс pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >
Вычисляет дескрипторы спин-изображений для заданных входных точек. Подробнее...
класс pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >
UniqueShapeContext реализует описанный здесь дескриптор Unique Shape Context: Подробнее...
класс pcl::VFHEstimation< PointInT, PointNT, PointOutT >
VFHEstimation вычисляет дескриптор гистограммы признаков точки обзора (VFH) для набора данных облака точек, содержащего точки и нормали. Подробнее...

Функции

void pcl::solvePlaneParameters (const Eigen::Matrix3f &covariance_matrix, const Eigen::Vector4f &point, Eigen::Vector4f &plane_parameters, float &curvature)
Вычисляет собственные значения и собственные векторы заданной ковариационной матрицы 3x3 и оценивает нормаль плоскости методом наименьших квадратов и кривизну поверхности. Подробнее...
void pcl::solvePlaneParameters (const Eigen::Matrix3f &covariance_matrix, float &nx, float &ny, float &nz, float &curvature)
Вычисляет собственные значения и собственные векторы заданной ковариационной матрицы 3x3 и оценивает нормаль плоскости методом наименьших квадратов и кривизну поверхности. Подробнее...
template<typename PointT >
bool pcl::computePointNormal (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &plane_parameters, float &curvature)
Вычисляет аппроксимацию плоскости методом наименьших квадратов для заданного набора точек и возвращает оценённые параметры плоскости вместе с кривизной поверхности. Подробнее...
template<typename PointT >
bool pcl::computePointNormal (const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, Eigen::Vector4f &plane_parameters, float &curvature)
Вычисляет аппроксимацию плоскости методом наименьших квадратов для заданного набора точек, используя их индексы, и возвращает оценённые параметры плоскости вместе с кривизной поверхности. Подробнее...
template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)
Разворачивает (на месте) оценённую нормаль точки в сторону заданной точки наблюдения. Подробнее...
template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 3, 1 > &normal)
Разворачивает (на месте) оценённую нормаль точки в сторону заданной точки наблюдения. Подробнее...
template<typename PointT >
void pcl::flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, float &nx, float &ny, float &nz)
Разворачивает (на месте) оценённую нормаль точки в сторону заданной точки наблюдения. Подробнее...
template<typename PointNT >
bool pcl::flipNormalTowardsNormalsMean (pcl::PointCloud< PointNT > const &normal_cloud, pcl::Indices const &normal_indices, Eigen::Vector3f &normal)
Разворачивает (на месте) нормаль так, чтобы её знак совпадал со знаком среднего значения нормалей, заданных в normal_indices. Подробнее...
PCL_EXPORTS bool pcl::computePairFeatures (const Eigen::Vector4f &p1, const Eigen::Vector4f &n1, const Eigen::Vector4f &p2, const Eigen::Vector4f &n2, float &f1, float &f2, float &f3, float &f4)
Вычисляет представление в виде кортежа из четырёх элементов, содержащего три угла и расстояние между двумя точками, заданными декартовыми координатами и нормалями. Подробнее...
template<int N>
void pcl::getFeaturePointCloud (const std::vector< Eigen::MatrixXf, Eigen::aligned_allocator< Eigen::MatrixXf > > &histograms2D, PointCloud< Histogram< N > > &histogramsPC)
Преобразует список двумерных матриц в облако точек, содержащее значения в векторе (Histogram<N>). Подробнее...
template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::computeRSD (const pcl::PointCloud< PointInT > &surface, const pcl::PointCloud< PointNT > &normals, const pcl::Indices &indices, double max_dist, int nr_subdiv, double plane_radius, PointOutT &radii, bool compute_histogram=false)
Оценивает дескриптор поверхности на основе радиусов (RSD) для заданной точки, используя её пространственное окружение, состоящее из трёхмерных точек с нормалями. Подробнее...
template<typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::computeRSD (const pcl::PointCloud< PointNT > &normals, const pcl::Indices &indices, const std::vector< float > &sqr_dists, double max_dist, int nr_subdiv, double plane_radius, PointOutT &radii, bool compute_histogram=false)
Оценивает дескриптор поверхности на основе радиусов (RSD) для заданной точки, используя её пространственное окружение, состоящее из трёхмерных точек с нормалями. Подробнее...

Описание функций

computePairFeatures()

PCL_EXPORTS bool pcl::computePairFeatures ( const Eigen::Vector4f & p1,
const Eigen::Vector4f & n1,
const Eigen::Vector4f & p2,
const Eigen::Vector4f & n2,
float & f1,
float & f2,
float & f3,
float & f4
)

#include <pcl/features/pfh_tools.h>

Вычисляет представление в виде кортежа из четырёх элементов, содержащего три угла и расстояние между двумя точками, заданными декартовыми координатами и нормалями.

Примечание
Пояснения к признакам см. в указанной выше литературе (порядок признаков может отличаться).
Параметры
[in] p1 первая точка XYZ
[in] n1 первая нормаль поверхности
[in] p2 вторая точка XYZ
[in] n2 вторая нормаль поверхности
[out] f1 первый угловой признак (угол между проекцией nq_idx и u)
[out] f2 второй угловой признак (угол между nq_idx и v)
[out] f3 третий угловой признак (угол между np_idx и |p_idx - q_idx|)
[out] f4 признак расстояния (p_idx - q_idx)
Примечание
Для повышения эффективности предполагается, что переданные методу данные точек являются конечными.

Используется в pcl::FPFHEstimation< PointInT, PointNT, PointOutT >::computePairFeatures(), pcl::PFHEstimation< PointInT, PointNT, PointOutT >::computePairFeatures(), pcl::PFHEstimation< PointInT, PointNT, PointOutT >::computePointPFHSignature(), pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature() и pcl::FPFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature().

computePointNormal() [1/2]

template<typename PointT >
bool pcl::computePointNormal ( const pcl::PointCloud< PointT > & cloud,
const pcl::Indices & indices,
Eigen::Vector4f & plane_parameters,
float & curvature
)
inline

#include <pcl/features/normal_3d.h>

Вычисляет аппроксимацию плоскости методом наименьших квадратов для заданного набора точек, используя их индексы, и возвращает оценённые параметры плоскости вместе с кривизной поверхности.

Параметры
cloud входное облако точек
indices индексы точек облака, которые необходимо использовать
plane_parameters параметры плоскости: a, b, c, d (ax + by + cz + d = 0)
curvature оценённая кривизна поверхности как мера

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

Ссылки на pcl::computeMeanAndCovarianceMatrix() и pcl::solvePlaneParameters().

computePointNormal() [2/2]

template<typename PointT >
bool pcl::computePointNormal ( const pcl::PointCloud< PointT > & cloud,
Eigen::Vector4f & plane_parameters,
float & curvature
)
inline

#include <pcl/features/normal_3d.h>

Вычисляет аппроксимацию плоскости методом наименьших квадратов для заданного набора точек и возвращает оценённые параметры плоскости вместе с кривизной поверхности.

Параметры
cloud входное облако точек
plane_parameters параметры плоскости: a, b, c, d (ax + by + cz + d = 0)
curvature оценённая кривизна поверхности как мера

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::PointCloud< PointT >::size() и pcl::solvePlaneParameters().

Используется в pcl::NormalEstimation< PointInT, PointOutT >::computeFeature(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computeFeatureFull() и pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computeFeaturePart().

computeRSD() [1/2]

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::computeRSD ( const pcl::PointCloud< PointInT > & surface,
const pcl::PointCloud< PointNT > & normals,
const pcl::Indices & indices,
double max_dist,
int nr_subdiv,
double plane_radius,
PointOutT & radii,
bool compute_histogram = false
)

#include <pcl/features/rsd.h>

Оценивает дескриптор поверхности на основе радиусов (RSD) для заданной точки, используя её пространственное окружение, состоящее из трёхмерных точек с нормалями.

Параметры
[in] surface набор данных, содержащий точки XYZ
[in] normals набор данных, содержащий нормали поверхности в каждой точке набора данных
[in] indices индексы точек-соседей в наборе данных (первая точка используется как опорная)
[in] max_dist верхняя граница рассматриваемого интервала расстояний
[in] nr_subdiv число подразделений рассматриваемого интервала расстояний
[in] plane_radius максимальный радиус, при превышении которого поверхность можно считать плоской
[in] radii выходная точка типа, который должен содержать поля r_min и r_max
[in] compute_histogram если значение не равно false, предоставляется полная гистограмма окрестности, которую можно использовать как сигнатуру точки
Примечание
: ориентация не учитывается!
: точки за пределами заданного интервала не учитываются!

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

Ссылки на M_PI.

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

computeRSD() [2/2]

template<typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::computeRSD ( const pcl::PointCloud< PointNT > & normals,
const pcl::Indices & indices,
const std::vector< float > & sqr_dists,
double max_dist,
int nr_subdiv,
double plane_radius,
PointOutT & radii,
bool compute_histogram = false
)

#include <pcl/features/rsd.h>

Оценивает дескриптор поверхности на основе радиусов (RSD) для заданной точки, используя её пространственное окружение, состоящее из трёхмерных точек с нормалями.

Параметры
[in] normals набор данных, содержащий нормали поверхности в каждой точке набора данных
[in] indices индексы точек-соседей в наборе данных (первая точка используется как опорная)
[in] sqr_dists квадраты расстояний от первой точки до всех точек в окрестности
[in] max_dist верхняя граница рассматриваемого интервала расстояний
[in] nr_subdiv число подразделений рассматриваемого интервала расстояний
[in] plane_radius максимальный радиус, при превышении которого поверхность можно считать плоской
[in] radii выходная точка типа, который должен содержать поля r_min и r_max
[in] compute_histogram если значение не равно false, предоставляется полная гистограмма окрестности, которую можно использовать как сигнатуру точки
Примечание
: ориентация не учитывается!
: точки за пределами заданного интервала не учитываются!

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

Ссылки на M_PI.

flipNormalTowardsNormalsMean()

template<typename PointNT >
bool pcl::flipNormalTowardsNormalsMean ( pcl::PointCloud< PointNT > const & normal_cloud,
pcl::Indices const & normal_indices,
Eigen::Vector3f & normal
)
inline

#include <pcl/features/normal_3d.h>

Развернуть нормаль (на месте), чтобы её знак совпадал со знаком среднего значения нормалей, указанных в normal_indices.

Метод описан в следующих работах: A. Petrelli, L. Di Stefano, «A repeatable and efficient canonical reference for surface matching», 3DimPVT, 2012; A. Petrelli, L. Di Stefano, «On the repeatability of the local reference frame for partial shape matching», 13-я Международная конференция по компьютерному зрению (ICCV), 2011.

Нормали должны быть единичными векторами. В противном случае результирующее среднее будет взвешено нормами нормалей.

Параметры
[in] normal_cloud Облако нормалей, используемое для вычисления среднего значения
[in] normal_indices Индексы нормалей, используемых для вычисления среднего значения
[in] normal Входная нормаль, которую нужно развернуть. Функция изменяет нормаль.
Возвращает
false, если normal_indices не содержит ни одной допустимой нормали.

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

Ссылки на pcl::isFinite().

flipNormalTowardsViewpoint() [1/3]

template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint ( const PointT & point,
float vp_x,
float vp_y,
float vp_z,
Eigen::Matrix< Scalar, 3, 1 > & normal
)
inline

#include <pcl/features/normal_3d.h>

Развернуть (на месте) оценённую нормаль точки в направлении заданной точки наблюдения.

Параметры
point заданная точка
vp_x X-координата точки наблюдения
vp_y X-координата точки наблюдения
vp_z X-координата точки наблюдения
normal нормаль плоскости, которую нужно развернуть

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

flipNormalTowardsViewpoint() [2/3]

template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint ( const PointT & point,
float vp_x,
float vp_y,
float vp_z,
Eigen::Matrix< Scalar, 4, 1 > & normal
)
inline

#include <pcl/features/normal_3d.h>

Развернуть (на месте) оценённую нормаль точки в направлении заданной точки наблюдения.

Параметры
point заданная точка
vp_x X-координата точки наблюдения
vp_y X-координата точки наблюдения
vp_z X-координата точки наблюдения
normal нормаль плоскости, которую нужно развернуть

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

Используется в pcl::features::computeApproximateNormals(), pcl::NormalEstimation< PointInT, PointOutT >::computeFeature(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computePointNormal() и pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computePointNormalMirror().

flipNormalTowardsViewpoint() [3/3]

template<typename PointT >
void pcl::flipNormalTowardsViewpoint ( const PointT & point,
float vp_x,
float vp_y,
float vp_z,
float & nx,
float & ny,
float & nz
)

#include <pcl/features/normal_3d.h>

Развернуть (на месте) оценённую нормаль точки в направлении заданной точки наблюдения.

Параметры
point заданная точка
vp_x X-координата точки наблюдения
vp_y X-координата точки наблюдения
vp_z X-координата точки наблюдения
nx результирующая X-компонента нормали плоскости
ny результирующая Y-компонента нормали плоскости
nz результирующая Z-компонента нормали плоскости

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

getFeaturePointCloud()

template<int N>
void pcl::getFeaturePointCloud ( const std::vector< Eigen::MatrixXf, Eigen::aligned_allocator< Eigen::MatrixXf > > & histograms2D,
PointCloud< Histogram< N > > & histogramsPC
)

#include <pcl/features/rsd.h>

Преобразовать список двумерных матриц в облако точек, содержащее значения в виде вектора (Histogram<N>).

Можно использовать для преобразования двумерных гистограмм, полученных в RSDEstimation, в облако точек.

Примечание
Параметр шаблона N должен быть больше или равен произведению числа строк на число столбцов.
Параметры
[in] histograms2D список двумерных гистограмм окрестностей
[out] histogramsPC набор данных, содержащий линеаризованные матрицы

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

Ссылки на pcl::PointCloud< PointT >::begin().

solvePlaneParameters() [1/2]

void pcl::solvePlaneParameters ( const Eigen::Matrix3f & covariance_matrix,
const Eigen::Vector4f & point,
Eigen::Vector4f & plane_parameters,
float & curvature
)
inline

#include <pcl/features/feature.h>

Вычислить собственные значения и собственные векторы заданной матрицы ковариации 3x3 и оценить нормаль плоскости методом наименьших квадратов и кривизну поверхности.

Параметры
covariance_matrix матрица ковариации 3x3
point точка, лежащая на плоскости наилучшего приближения (с выравниванием по SSE)
plane_parameters результирующие параметры плоскости: a, b, c, d (ax + by + cz + d = 0)
curvature оценка кривизны поверхности как мера величины

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

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

solvePlaneParameters() [2/2]

void pcl::solvePlaneParameters ( const Eigen::Matrix3f & covariance_matrix,
float & nx,
float & ny,
float & nz,
float & curvature
)
inline

#include <pcl/features/feature.h>

Вычислить собственные значения и собственные векторы заданной матрицы ковариации 3x3 и оценить нормаль плоскости методом наименьших квадратов и кривизну поверхности.

Параметры
covariance_matrix матрица ковариации 3x3
nx результирующая X-компонента нормали плоскости
ny результирующая Y-компонента нормали плоскости
nz результирующая Z-компонента нормали плоскости
curvature оценка кривизны поверхности как мера величины

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

Ссылки на pcl::eigen33().

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

Spec-Zone.ru

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