Класс анализа главных компонент (PCA). Подробнее...
#include <pcl/common/pca.h>
Общедоступные типы | |
| enum | FLAG { increase , preserve } |
| Флаг метода обновления. Подробнее... |
|
| using | Base = pcl::PCLBase< PointT > |
| using | PointCloud = typename Base::PointCloud |
| using | PointCloudPtr = typename Base::PointCloudPtr |
| using | PointCloudConstPtr = typename Base::PointCloudConstPtr |
| using | PointIndicesPtr = typename Base::PointIndicesPtr |
| using | PointIndicesConstPtr = typename Base::PointIndicesConstPtr |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные методы | |
| PCA (bool basis_only=false) | |
| Конструктор по умолчанию. Подробнее... |
|
| PCA (PCA const &pca) | |
| Конструктор копирования. Подробнее... |
|
| PCA & | operator= (PCA const &pca) |
| Оператор присваивания. Подробнее... |
|
| 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 |
| Задать индексы точек, находящихся в интересующей области облака точек. Подробнее... |
|
| Eigen::Vector4f & | getMean () |
| Доступ к среднему значению. Подробнее... |
|
| Eigen::Matrix3f & | getEigenVectors () |
|
Eigen: доступ к собственным векторам. Подробнее... |
|
| Eigen::Vector3f & | getEigenValues () |
|
Eigen: доступ к собственным значениям. Подробнее... |
|
| Eigen::MatrixXf & | getCoefficients () |
| Доступ к коэффициентам. Подробнее... |
|
| void | update (const PointT &input, FLAG flag=preserve) |
| Обновить PCA, добавив новую точку Подробнее... |
|
| void | project (const PointT &input, PointT &projection) |
| Спроецировать точку на собственное подпространство. Подробнее... |
|
| void | project (const PointCloud &input, PointCloud &projection) |
| Спроецировать облако на собственное подпространство. Подробнее... |
|
| void | reconstruct (const PointT &projection, PointT &input) |
| Восстановить точку по её проекции. Подробнее... |
|
| void | reconstruct (const PointCloud &projection, PointCloud &input) |
| Восстановить облако по его проекции. Подробнее... |
|
| bool | initCompute () |
| Этот метод следует вызвать перед началом вычислений. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Задать указатель на входной набор данных. Подробнее... |
|
|
| |
| 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 для сокращения кода. Подробнее... |
|
Общедоступные атрибуты | |
| PointCloudConstPtr | input_ |
| Входной набор облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов используемых точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся фиктивный набор индексов, соответствующий входному PointCloud. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::PCA< PointT >
Класс анализа главных компонент (PCA).
Главные компоненты извлекаются с помощью сингулярного разложения ковариационной матрицы центрированного входного облака. После вычисления PCA доступны следующие данные:
- Среднее значение входных данных
- Собственные векторы: упорядоченный набор векторов, представляющих полученные главные компоненты и декартов базис собственного подпространства (правосторонняя система координат).
- Собственные значения: соответствующие собственным векторам нагрузки, упорядоченные по убыванию.
Другие методы позволяют проецировать данные в собственное подпространство, восстанавливать их из собственного подпространства и обновлять собственное подпространство с учётом новых данных (согласно работе Matej Artec, Matjaz Jogan и Ales Leonardis: «Инкрементальная PCA для онлайн-визуального обучения и распознавания»).
Документация по псевдонимам типов-членов
Base
| using pcl::PCA< PointT >::Base = pcl::PCLBase<PointT> |
PointCloud
| using pcl::PCA< PointT >::PointCloud = typename Base::PointCloud |
PointCloudConstPtr
| using pcl::PCA< PointT >::PointCloudConstPtr = typename Base::PointCloudConstPtr |
PointCloudPtr
| using pcl::PCA< PointT >::PointCloudPtr = typename Base::PointCloudPtr |
PointIndicesConstPtr
| using pcl::PCA< PointT >::PointIndicesConstPtr = typename Base::PointIndicesConstPtr |
PointIndicesPtr
| using pcl::PCA< PointT >::PointIndicesPtr = typename Base::PointIndicesPtr |
Документация по перечислениям-членам
FLAG
| enum pcl::PCA::FLAG |
Документация по конструкторам и деструкторам
PCA() [1/2]
PCA() [2/2]
Документация по функциям-членам
getCoefficients()
getEigenValues()
Метод доступа к собственным значениям Eigen.
- Исключения
-
InitFailedException
getEigenVectors()
Метод доступа к собственным векторам Eigen.
- Возвращает
- Собственные векторы, упорядоченные по столбцам и представляющие декартов базис собственного подпространства (правосторонняя система координат).
- Исключения
-
InitFailedException
getMean()
Метод доступа к среднему значению.
- Исключения
-
InitFailedException
initCompute()
| bool pcl::PCLBase< PointT >::initCompute |
Этот метод следует вызывать перед началом фактических вычислений.
Внутри initCompute() выполняются следующие действия:
- проверяется, задан ли входной набор данных; в противном случае возвращается false
- проверяется, задан ли набор входных индексов. Если да, возвращается true.
- если входные индексы не заданы, создаётся фиктивный набор, который используется до тех пор, пока:
- либо не будет задан новый набор с помощью setIndices(), либо
- не будет задано новое облако с другим набором точек. Это приведёт к обновлению набора фиктивных индексов
Определение в строке 168 файла pcl_base.hpp.
operator=()
project() [1/2]
| inline |
Проецирует облако на собственное подпространство.
- Параметры
-
[in] input облако из исходного набора данных [out] projection облако в пространстве собственных векторов
- Исключения
-
InitFailedException
Определение в строке 179 файла pca.hpp.
Ссылки на pcl::geometry::project().
project() [2/2]
| inline |
Проецирует точку на собственное подпространство.
- Параметры
-
[in] input точка из исходного набора данных [out] projection точка в пространстве собственных векторов
- Исключения
-
InitFailedException
reconstruct() [1/2]
| inline |
Восстанавливает облако по его проекции.
- Параметры
-
[in] projection облако из пространства собственных векторов [out] input восстановленное облако
- Исключения
-
InitFailedException
reconstruct() [2/2]
| inline |
Восстанавливает точку по её проекции.
- Параметры
-
[in] projection точка из пространства собственных векторов [out] input восстановленная точка
- Исключения
-
InitFailedException
setIndices() [1/4]
| inlineoverridevirtual |
Передаёт указатель на вектор индексов, задающий входные данные.
- Параметры
-
[in] indices указатель на индексы, задающие входные данные.
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 143 файла pca.h.
Ссылки: pcl::PCLBase< PointT >::setIndices().
setIndices() [2/4]
| inlineoverridevirtual |
Передаёт указатель на вектор индексов, задающий входные данные.
- Параметры
-
[in] indices указатель на индексы, задающие входные данные.
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 133 файла pca.h.
Ссылки: pcl::PCLBase< PointT >::setIndices().
setIndices() [3/4]
| inlineoverridevirtual |
Передаёт указатель на вектор индексов, задающий входные данные.
- Параметры
-
[in] indices указатель на индексы, задающие входные данные.
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 153 файла pca.h.
Ссылки: pcl::PCLBase< PointT >::setIndices().
setIndices() [4/4]
| inlineoverridevirtual |
Задаёт индексы точек, расположенных в интересующей области облака точек.
- Примечание
- не следует вызывать этот метод для неорганизованных облаков точек!
- Параметры
-
[in] row_start смещение по строкам [in] col_start смещение по столбцам [in] nb_rows количество учитываемых строк, включая row_start [in] nb_cols количество учитываемых столбцов, включая col_start
Переопределено из pcl::PCLBase< PointT >.
Определение в строке 168 файла pca.h.
Ссылки: pcl::PCLBase< PointT >::setIndices().
setInputCloud() [1/2]
| void pcl::PCLBase< PointT >::setInputCloud |
Передаёт указатель на входной набор данных.
- Параметры
-
[in] cloud константный общий указатель boost на сообщение PointCloud
Определение в строке 92 файла pcl_base.hpp.
setInputCloud() [2/2]
| inlineoverridevirtual |
Передаёт указатель на входной набор данных.
- Параметры
-
cloud константный общий указатель boost на сообщение PointCloud
Переопределено из pcl::PCLBase< PointT >.
update()
| inline |
Обновляет PCA с учётом новой точки
- Параметры
-
[in] input входная точка [in] flag флаг обновления
- Исключения
-
InitFailedException
Документация данных-членов
indices_
| IndicesPtr pcl::PCLBase< PointT >::indices_ |
Указатель на вектор используемых индексов точек.
Определение в строке 150 файла pcl_base.h.
input_
| PointCloudConstPtr pcl::PCLBase< PointT >::input_ |
Входной набор данных — облако точек.
Определение в строке 147 файла pcl_base.h.
Документация этого класса создана на основе следующих файлов:
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_p_c_a.html