Реализует метод извлечения признаков на основе момента инерции. Подробнее...
#include <pcl/features/moment_of_inertia_estimation.h>
Общедоступные типы | |
| using | PointCloudConstPtr = typename pcl::PCLBase< PointT >::PointCloudConstPtr |
| using | PointIndicesConstPtr = typename pcl::PCLBase< PointT >::PointIndicesConstPtr |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные функции-члены | |
| void | setInputCloud (const PointCloudConstPtr &cloud) override |
| Задает указатель на входной набор данных. Подробнее... |
|
| void | setIndices (const IndicesPtr &indices) override |
| Задает указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| void | setIndices (const IndicesConstPtr &indices) override |
| Задает указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| void | setIndices (const PointIndicesConstPtr &indices) override |
| Задает указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) override |
| Задает индексы точек, находящихся в интересующей области облака точек. Подробнее... |
|
| MomentOfInertiaEstimation () | |
| Конструктор, задающий значения по умолчанию для переменных-членов. Подробнее... |
|
| ~MomentOfInertiaEstimation () override | |
| Виртуальный деструктор, освобождающий память. Подробнее... |
|
| void | setAngleStep (const float step) |
| Этот метод позволяет задать шаг угла. Подробнее... |
|
| float | getAngleStep () const |
| Возвращает шаг угла. Подробнее... |
|
| void | setNormalizePointMassFlag (bool need_to_normalize) |
| Этот метод позволяет задать флаг normalize_. Подробнее... |
|
| bool | getNormalizePointMassFlag () const |
| Возвращает флаг normalize_. Подробнее... |
|
| void | setPointMass (const float point_mass) |
| Этот метод позволяет задать массу точки, которая будет использоваться при вычислении момента инерции. Подробнее... |
|
| float | getPointMass () const |
| Возвращает массу точки. Подробнее... |
|
| void | compute () |
| Этот метод запускает вычисление всех признаков. Подробнее... |
|
| bool | getAABB (PointT &min_point, PointT &max_point) const |
| Этот метод предоставляет доступ к вычисленной осевой ограничивающей рамке. Подробнее... |
|
| bool | getOBB (PointT &min_point, PointT &max_point, PointT &position, Eigen::Matrix3f &rotational_matrix) const |
| Этот метод предоставляет доступ к вычисленной ориентированной ограничивающей рамке. Подробнее... |
|
| bool | getEigenValues (float &major, float &middle, float &minor) const |
| Этот метод предоставляет доступ к вычисленным собственным значениям. Подробнее... |
|
| bool | getEigenVectors (Eigen::Vector3f &major, Eigen::Vector3f &middle, Eigen::Vector3f &minor) const |
| Этот метод предоставляет доступ к вычисленным собственным векторам. Подробнее... |
|
| bool | getMomentOfInertia (std::vector< float > &moment_of_inertia) const |
| Этот метод предоставляет доступ к вычисленным моментам инерции. Подробнее... |
|
| bool | getEccentricity (std::vector< float > &eccentricity) const |
| Этот метод предоставляет доступ к вычисленным эксцентриситетам. Подробнее... |
|
| bool | getMassCenter (Eigen::Vector3f &mass_center) const |
| Этот метод предоставляет доступ к вычисленному центру масс. Подробнее... |
|
|
| |
| PCLBase () | |
| Конструктор без параметров. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Получает указатель на входной набор облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Получает указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Получает указатель на используемый вектор индексов. Подробнее... |
|
| const PointT & | operator[] (std::size_t pos) const |
| Переопределяет оператор [] класса PointCloud, чтобы сократить код. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом собственно вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения собственно вычислений. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём фиктивный набор индексов, соответствующий входному облаку точек. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::MomentOfInertiaEstimation< PointT >
Реализует метод извлечения признаков на основе момента инерции.
Также вычисляет AABB, OBB и эксцентриситет спроецированного облака.
Определение находится в строке 54 файла moment_of_inertia_estimation.h.
Документация по псевдонимам типов-членов
PointCloudConstPtr
| using pcl::MomentOfInertiaEstimation< PointT >::PointCloudConstPtr = typename pcl::PCLBase<PointT>::PointCloudConstPtr |
Определение находится в строке 65 файла moment_of_inertia_estimation.h.
PointIndicesConstPtr
| using pcl::MomentOfInertiaEstimation< PointT >::PointIndicesConstPtr = typename pcl::PCLBase<PointT>::PointIndicesConstPtr |
Определение находится в строке 66 файла moment_of_inertia_estimation.h.
Документация по конструкторам и деструкторам
MomentOfInertiaEstimation()
| pcl::MomentOfInertiaEstimation< PointT >::MomentOfInertiaEstimation |
Конструктор, задающий значения по умолчанию для переменных-членов.
Определение находится в строке 50 файла moment_of_inertia_estimation.hpp.
~MomentOfInertiaEstimation()
| override |
Виртуальный деструктор, освобождающий память.
Определение находится в строке 67 файла moment_of_inertia_estimation.hpp.
Документация по функциям-членам
compute()
| void pcl::MomentOfInertiaEstimation< PointT >::compute |
Этот метод запускает вычисление всех признаков.
После выполнения он устанавливает флаг is_valid_ в значение true, и к каждому признаку можно получить доступ с помощью соответствующего метода get.
Определение находится в строке 129 файла moment_of_inertia_estimation.hpp.
Ссылки: pcl::computeCovarianceMatrix().
getAABB()
| bool pcl::MomentOfInertiaEstimation< PointT >::getAABB | ( | PointT & | min_point, |
| PointT & | max_point | ||
| ) | const |
Этот метод предоставляет доступ к вычисленному ограничивающему параллелепипеду, выровненному по осям.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае.
- Параметры
-
[out] min_point минимальная точка AABB [out] max_point максимальная точка AABB
Определение находится в строке 196 файла moment_of_inertia_estimation.hpp.
getAngleStep()
| float pcl::MomentOfInertiaEstimation< PointT >::getAngleStep |
Возвращает шаг угла.
Определение находится в строке 87 файла moment_of_inertia_estimation.hpp.
getEccentricity()
| bool pcl::MomentOfInertiaEstimation< PointT >::getEccentricity | ( | std::vector< float > & | eccentricity | ) | const |
Этот метод предоставляет доступ к вычисленным значениям эксцентриситета.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае.
- Параметры
-
[out] eccentricity вычисленные значения эксцентриситета
Определение находится в строке 306 файла moment_of_inertia_estimation.hpp.
getEigenValues()
| bool pcl::MomentOfInertiaEstimation< PointT >::getEigenValues | ( | float & | major, |
| float & | middle, | ||
| float & | minor | ||
| ) | const |
Этот метод предоставляет доступ к вычисленным собственным значениям.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае.
- Параметры
-
[out] major наибольшее собственное значение [out] middle среднее собственное значение [out] minor наименьшее собственное значение
Определение находится в строке 274 файла moment_of_inertia_estimation.hpp.
getEigenVectors()
| bool pcl::MomentOfInertiaEstimation< PointT >::getEigenVectors | ( | Eigen::Vector3f & | major, |
| Eigen::Vector3f & | middle, | ||
| Eigen::Vector3f & | minor | ||
| ) | const |
Этот метод предоставляет доступ к вычисленным собственным векторам.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае.
- Параметры
-
[out] major ось, соответствующая собственному вектору с наибольшим собственным значением [out] middle ось, соответствующая собственному вектору со средним собственным значением [out] minor ось, соответствующая собственному вектору с наименьшим собственным значением
Определение находится в строке 285 файла moment_of_inertia_estimation.hpp.
getMassCenter()
| bool pcl::MomentOfInertiaEstimation< PointT >::getMassCenter | ( | Eigen::Vector3f & | mass_center | ) | const |
Этот метод предоставляет доступ к вычисленному центру масс.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае. Обратите внимание, что при вычислении центра масс облака масса каждой точки считается равной 1.
- Параметры
-
[out] mass_center вычисленный центр масс
Определение находится в строке 551 файла moment_of_inertia_estimation.hpp.
getMomentOfInertia()
| bool pcl::MomentOfInertiaEstimation< PointT >::getMomentOfInertia | ( | std::vector< float > & | moment_of_inertia | ) | const |
Этот метод предоставляет доступ к вычисленным моментам инерции.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае.
- Параметры
-
[out] moment_of_inertia вычисленные моменты инерции
Определение находится в строке 296 файла moment_of_inertia_estimation.hpp.
getNormalizePointMassFlag()
| bool pcl::MomentOfInertiaEstimation< PointT >::getNormalizePointMassFlag |
Возвращает флаг normalize_.
Определение находится в строке 103 файла moment_of_inertia_estimation.hpp.
getOBB()
| bool pcl::MomentOfInertiaEstimation< PointT >::getOBB | ( | PointT & | min_point, |
| PointT & | max_point, | ||
| PointT & | position, | ||
| Eigen::Matrix3f & | rotational_matrix | ||
| ) | const |
Этот метод предоставляет доступ к вычисленному ориентированному ограничивающему параллелепипеду.
Он возвращает true, если текущие значения (эксцентриситет, момент инерции и т. д.) действительны, и false в противном случае. Обратите внимание: чтобы получить OBB, каждую вершину заданного AABB (определяемого параметрами min_point и max_point) необходимо повернуть с помощью заданной матрицы вращения (преобразования вращения), а затем сместить в заданное положение. Также следует учитывать, что это не минимально возможный ограничивающий параллелепипед. Этот параллелепипед ориентирован в соответствии с собственными векторами.
- Параметры
-
[out] min_point минимальная точка OBB [out] max_point максимальная точка OBB [out] position положение OBB [out] rotational_matrix эта матрица задаёт преобразование вращения
Определение находится в строке 206 файла moment_of_inertia_estimation.hpp.
getPointMass()
| float pcl::MomentOfInertiaEstimation< PointT >::getPointMass |
Возвращает массу точки.
Определение находится в строке 122 файла moment_of_inertia_estimation.hpp.
setAngleStep()
| void pcl::MomentOfInertiaEstimation< PointT >::setAngleStep | ( | const float | step | ) |
Этот метод позволяет задать шаг угла.
Он используется для вращения оси, применяемой при вычислении момента инерции и эксцентриситета.
- Параметры
-
[in] step шаг угла
Определение находится в строке 75 файла moment_of_inertia_estimation.hpp.
setIndices() [1/4]
| overridevirtual |
Передаёт указатель на вектор индексов, представляющий входные данные.
- Параметры
-
[in] indices указатель на вектор индексов, представляющий входные данные.
Переопределяет метод из pcl::PCLBase< PointT >.
Определение находится в строке 576 файла moment_of_inertia_estimation.hpp.
Ссылки: pcl::PCLBase< PointT >::setIndices().
setIndices() [2/4]
| overridevirtual |
Предоставляет указатель на вектор индексов, представляющий входные данные.
- Параметры
-
[in] indices указатель на вектор индексов, представляющий входные данные.
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 568 файла moment_of_inertia_estimation.hpp.
Ссылки на pcl::PCLBase< PointT >::setIndices().
setIndices() [3/4]
| overridevirtual |
Предоставляет указатель на вектор индексов, представляющий входные данные.
- Параметры
-
[in] indices указатель на вектор индексов, представляющий входные данные.
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 584 файла moment_of_inertia_estimation.hpp.
Ссылки на pcl::PCLBase< PointT >::setIndices().
setIndices() [4/4]
| overridevirtual |
Задаёт индексы точек, расположенных в интересующей области облака точек.
- Примечание
- не следует вызывать этот метод для неорганизованных облаков точек!
- Параметры
-
[in] row_start смещение по строкам [in] col_start смещение по столбцам [in] nb_rows количество учитываемых строк, включая row_start [in] nb_cols количество учитываемых столбцов, включая col_start
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 592 файла moment_of_inertia_estimation.hpp.
Ссылки на pcl::PCLBase< PointT >::setIndices().
setInputCloud()
| overridevirtual |
Предоставляет указатель на входной набор данных.
- Параметры
-
[in] cloud константный общий указатель Boost на сообщение PointCloud
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 560 файла moment_of_inertia_estimation.hpp.
Ссылки на pcl::PCLBase< PointT >::setInputCloud().
setNormalizePointMassFlag()
| void pcl::MomentOfInertiaEstimation< PointT >::setNormalizePointMassFlag | ( | bool | need_to_normalize | ) |
Этот метод позволяет задать флаг normalize_.
Если задано значение false, для масштабирования значений момента инерции будет использоваться point_mass_. В противном случае point_mass_ будет равен 1 / number_of_points. Значение по умолчанию — true.
- Параметры
-
[in] need_to_normalize требуемое значение
Определение в строке 94 файла moment_of_inertia_estimation.hpp.
setPointMass()
| void pcl::MomentOfInertiaEstimation< PointT >::setPointMass | ( | const float | point_mass | ) |
Этот метод позволяет задать массу точки, используемую при вычислении момента инерции.
Она нужна для масштабирования значений момента инерции. Значение по умолчанию — 0.0001.
- Параметры
-
[in] point_mass масса точки
Определение в строке 110 файла moment_of_inertia_estimation.hpp.
Документация этого класса создана на основе следующих файлов:
- pcl/features/moment_of_inertia_estimation.h
- pcl/features/impl/moment_of_inertia_estimation.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_moment_of_inertia_estimation.html