OrganizedNeighbor является классом для оптимизированного поиска ближайших соседей в упорядоченных облаках точек. Подробнее...
#include <pcl/search/organized.h>
Вложенные классы | |
| struct | Entry |
Общедоступные типы | |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | Ptr = shared_ptr< pcl::search::OrganizedNeighbor< PointT > > |
| using | ConstPtr = shared_ptr< const pcl::search::OrganizedNeighbor< PointT > > |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | Ptr = shared_ptr< pcl::search::Search< PointT > > |
| using | ConstPtr = shared_ptr< const pcl::search::Search< PointT > > |
| using | IndicesPtr = pcl::IndicesPtr |
| using | IndicesConstPtr = pcl::IndicesConstPtr |
Открытые члены-функции | |
| OrganizedNeighbor (bool sorted_results=false, float eps=1e-4f, unsigned pyramid_level=5) | |
| Конструктор. Подробнее... |
|
| ~OrganizedNeighbor () override=default | |
| Пустой деструктор. Подробнее... |
|
| bool | isValid () const |
| Проверка, является ли этот объект поиска допустимым (входные данные организованы и получены с проективного устройства) Пользователь должен использовать этот метод после задания входного облака, так как setInput просто выводит сообщение об ошибке, если входные данные не организованы или матрица проекции не может быть определена. Подробнее... |
|
| void | computeCameraMatrix (Eigen::Matrix3f &camera_matrix) const |
| Вычисление матрицы камеры. Подробнее... |
|
| void | setInputCloud (const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr()) override |
| Предоставление указателя на набор входных данных, если у пользователя есть фокусное расстояние, он должен его установить перед вызовом этого метода. Подробнее... |
|
| int | radiusSearch (const PointT &p_q, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const override |
|
Поиск всех соседей точки запроса, которые находятся в заданном радиусе. Подробнее... |
|
| void | estimateProjectionMatrix () |
| Оценка матрицы проекции из входного облака. Подробнее... |
|
| int | nearestKSearch (const PointT &p_q, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const override |
| Поиск k-ближайших соседей для заданной точки запроса. Подробнее... |
|
| bool | projectPoint (const PointT &p, pcl::PointXY &q) const |
| Проектирование точки в изображение Подробнее... |
|
|
| |
| Search (const std::string &name="", bool sorted=false) | |
| Конструктор. Подробнее... |
|
| virtual | ~Search ()=default |
| Деструктор. Подробнее... |
|
| virtual const std::string & | getName () const |
| Возвращает имя метода поиска. Подробнее... |
|
| virtual void | setSortedResults (bool sorted) |
| устанавливает, должны ли результаты быть отсортированы (по возрастанию расстояния) или нет Подробнее... |
|
| virtual bool | getSortedResults () |
| Определяет, должны ли результаты быть отсортированы (по возрастанию расстояния) или нет. В противном случае результаты могут быть возвращены в любом порядке. Подробнее... |
|
| virtual PointCloudConstPtr | getInputCloud () const |
| Получить указатель на набор данных входного облака точек. Подробнее... |
|
| virtual IndicesConstPtr | getIndices () const |
| Получить указатель на вектор индексов, используемых. Подробнее... |
|
| template<typename PointTDiff > | |
| int | nearestKSearchT (const PointTDiff &point, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const |
|
Поиск k ближайших соседей для заданной точки запроса. Подробнее... |
|
| virtual int | nearestKSearch (const PointCloud &cloud, index_t index, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const |
| Поиск k ближайших соседей для заданной точки запроса. Подробнее... |
|
| virtual int | nearestKSearch (index_t index, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const |
| Поиск k ближайших соседей для заданной точки запроса (без копирования). Подробнее... |
|
| virtual void | nearestKSearch (const PointCloud &cloud, const Indices &indices, int k, std::vector< Indices > &k_indices, std::vector< std::vector< float > > &k_sqr_distances) const |
| Поиск k ближайших соседей для заданной точки запроса. Подробнее... |
|
| template<typename PointTDiff > | |
| void | nearestKSearchT (const pcl::PointCloud< PointTDiff > &cloud, const Indices &indices, int k, std::vector< Indices > &k_indices, std::vector< std::vector< float > > &k_sqr_distances) const |
| Поиск k ближайших соседей для заданной точки запроса. Подробнее... |
|
| template<typename PointTDiff > | |
| int | radiusSearchT (const PointTDiff &point, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
| Поиск всех ближайших соседей заданной точки запроса в заданном радиусе. Подробнее... |
|
| virtual int | radiusSearch (const PointCloud &cloud, index_t index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
|
Поиск всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
| virtual int | radiusSearch (index_t index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const |
| Поиск всех ближайших соседей точки запроса в заданном радиусе (без копирования). Подробнее... |
|
| virtual void | radiusSearch (const PointCloud &cloud, const Indices &indices, double radius, std::vector< Indices > &k_indices, std::vector< std::vector< float > > &k_sqr_distances, unsigned int max_nn=0) const |
| Поиск всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
| template<typename PointTDiff > | |
| void | radiusSearchT (const pcl::PointCloud< PointTDiff > &cloud, const Indices &indices, double radius, std::vector< Indices > &k_indices, std::vector< std::vector< float > > &k_sqr_distances, unsigned int max_nn=0) const |
| Поиск всех ближайших соседей точек запроса в заданном радиусе. Подробнее... |
|
Защищённые члены класса | |
| bool | testPoint (const PointT &query, unsigned k, std::vector< Entry > &queue, index_t index) const |
| Проверка, является ли точка с заданным индексом одной из k ближайших соседей точки запроса. Подробнее... |
|
| void | clipRange (int &begin, int &end, int min, int max) const |
| void | getProjectedRadiusSearchBox (const PointT &point, float squared_radius, unsigned &minX, unsigned &minY, unsigned &maxX, unsigned &maxY) const |
| Получение области поиска в 2D из сферы радиусом в 3D. Подробнее... |
|
|
| |
| void | sortResults (Indices &indices, std::vector< float > &distances) const |
Защищённые атрибуты | |
| Eigen::Matrix< float, 3, 4, Eigen::RowMajor > | projection_matrix_ |
| матрица проекции. Подробнее... |
|
| Eigen::Matrix< float, 3, 3, Eigen::RowMajor > | KR_ |
| обратная левая 3x3 матрица проекции, которая представляет собой K * R (где K — матрица камеры, а R — матрица вращения) Подробнее... |
|
| Eigen::Matrix< float, 3, 3, Eigen::RowMajor > | KR_KRT_ |
| обратная левая 3x3 матрица проекции, которая представляет собой K * R (где K — матрица камеры, а R — матрица вращения) Подробнее... |
|
| const float | eps_ |
| значение epsilon для оценки MSE матрицы проекции Подробнее... |
|
| const unsigned | pyramid_level_ |
| используется только подвыборка точек для расчёта матрицы проекции. Подробнее... |
|
| std::vector< unsigned char > | mask_ |
| маска, показывающая, была ли точка в списке индексов или нет. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| IndicesConstPtr | indices_ |
| bool | sorted_results_ |
| std::string | name_ |
Подробное описание
шаблон<typename PointT>
класс pcl::search::OrganizedNeighbor< PointT >
OrganizedNeighbor — это класс для оптимизированного поиска ближайших соседей в организованных облаках точек.
Определение в строке 60 файла organized.h.
Документация по typedef-членам
ConstPtr
| используется pcl::search::OrganizedNeighbor< PointT >::ConstPtr = shared_ptr<const pcl::search::OrganizedNeighbor<PointT> > |
Определение в строке 71 файла organized.h.
PointCloud
| используется pcl::search::OrganizedNeighbor< PointT >::PointCloud = pcl::PointCloud<PointT> |
Определение в строке 65 файла organized.h.
PointCloudConstPtr
| используется pcl::search::OrganizedNeighbor< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 68 файла organized.h.
PointCloudPtr
| используется pcl::search::OrganizedNeighbor< PointT >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 66 файла organized.h.
Ptr
| using pcl::search::OrganizedNeighbor< PointT >::Ptr = shared_ptr<pcl::search::OrganizedNeighbor<PointT> > |
Определение в строке 70 файла organized.h.
Документация конструктора и деструктора
OrganizedNeighbor()
| inline |
Конструктор.
- Параметры
-
[in] sorted_results указывает, следует ли возвращать отсортированные результаты в порядке возрастания расстояний или нет. Это относится только к поиску по радиусу, так как knn всегда возвращает отсортированные результаты
[in] eps порог для среднеквадратичной ошибки оценки проекционной матрицы. Если MSE превышает это значение, то облако точек считается не полученным с проекционного устройства, поэтому поиск организованных соседей не может быть применён к этому облаку. [in] pyramid_level уровень сэмплирования облака точек с понижением разрешения, используемый для оценки проекционной матрицы
Определение в строке 85 файла organized.h.
~OrganizedNeighbor()
| overridedefault |
Пустой деструктор.
Документация функций-членов
clipRange()
| inlineprotected |
Определение в строке 243 файла organized.h.
computeCameraMatrix()
| void pcl::search::OrganizedNeighbor< PointT >::computeCameraMatrix | ( | Eigen::Matrix3f & | camera_matrix | ) | const |
Вычисление матрицы камеры.
- Параметры
-
[out] camera_matrix результирующая вычисленная матрица камеры
Определение в строке 326 файла organized.hpp.
Ссылки на pcl::getCameraMatrixFromProjectionMatrix().
estimateProjectionMatrix()
| void pcl::search::OrganizedNeighbor< PointT >::estimateProjectionMatrix |
оценка проекционной матрицы из входного облака.
Определение в строке 333 файла organized.hpp.
Ссылка на pcl::search::OrganizedNeighbor< PointT >::setInputCloud().
getProjectedRadiusSearchBox()
| protected |
Получение области поиска в 2D из сферы с радиусом в 3D.
- Параметры
-
[in] point точка запроса (центр сферы) [in] squared_radius квадрат радиуса сферы [out] minX минимальная координата X области [out] minY минимальная координата Y области [out] maxX максимальная координата X области [out] maxY максимальная координата Y области
Определение в строке 269 файла organized.hpp.
isValid()
| inline |
Проверка, является ли этот объект поиска корректным (входные данные организованные И от проективного устройства) Пользователь должен использовать этот метод после установки входного облака, поскольку setInput просто выводит ошибку, если вход не организован или матрица проекции не может быть определена.
- Возвращает
- true, если входные данные организованы и получены с проективного устройства, false в противном случае
Определение в строке 104 файла organized.h.
Ссылки на pcl::search::Search< PointT >::input_, pcl::search::OrganizedNeighbor< PointT >::KR_, и pcl::search::OrganizedNeighbor< PointT >::KR_KRT_.
nearestKSearch()
| overridevirtual |
Поиск k ближайших соседей для заданной точки запроса.
- Примечание
- ограничение максимального радиуса поиска (с помощью setMaxDistance) может значительно улучшить скорость поиска
- Параметры
-
[in] p_q заданная точка запроса (setInputCloud должна быть задана предварительно!) [in] k количество соседей для поиска (используется только если горизонтальное и вертикальное окно не заданы уже!) [out] k_indices результирующие индексы точек (должны быть изменены на k заранее!) [out] k_sqr_distances
- Примечание
- эта функция не возвращает расстояния
- Возвращает
- количество найденных соседей
- Todo:
- по-прежнему необходимо реализовать эту функциональность
Реализует pcl::search::Search< PointT >.
Определение в строке 114 файла organized.hpp.
Ссылки на pcl::isFinite().
projectPoint()
| bool pcl::search::OrganizedNeighbor< PointT >::projectPoint | ( | const PointT & | p, |
| pcl::PointXY & | q | ||
| ) | const |
Проектирует точку в изображение
- Параметры
-
[in] p точка в 3D системе координат мира, которая должна быть спроецирована на плоскость изображения [out] q проекция 2D точки в пиксельных координатах (u,v)
- Возвращает
- true, если проекция корректна, false в противном случае
Определение в строке 378 файла organized.hpp.
Ссылки на pcl::PointXY::x, и pcl::PointXY::y.
Используется в pcl::visualization::ImageViewer::addMask(), pcl::visualization::ImageViewer::addPlanarPolygon(), и pcl::visualization::ImageViewer::addRectangle().
radiusSearch()
| overridevirtual |
Поиск всех соседей заданной точки запроса, которые находятся в заданном радиусе.
- Параметры
-
[in] p_q заданная точка запроса [in] radius радиус сферы, охватывающей всех соседей p_q [out] k_indices результирующие индексы соседних точек [out] k_sqr_distances результирующие квадратные расстояния до соседних точек [in] max_nn если задано, ограничивает максимальное количество возвращенных соседей этим значением. Если max_nn установлено в 0 или в число, большее числа точек во входном облаке, все соседи в radius будут возвращены.
- Возвращает
- количество найденных соседей в радиусе
Реализует pcl::search::Search< PointT >.
Определение в строке 49 файла organized.hpp.
Ссылки на pcl::isFinite().
setInputCloud()
| inlineoverridevirtual |
Предоставьте указатель на входной набор данных, если у пользователя есть фокусное расстояние, он должен установить его перед вызовом этой функции.
- Parameters
-
[in] cloud постоянный указатель на boost shared pointer сообщения PointCloud [in] indices постоянный указатель на boost shared pointer PointIndices
Переопределено из pcl::search::Search< PointT >.
Определение в строке 125 файла organized.h.
Ссылки на pcl::search::OrganizedNeighbor< PointT >::estimateProjectionMatrix(), pcl::search::Search< PointT >::indices_, pcl::search::Search< PointT >::input_ и pcl::search::OrganizedNeighbor< PointT >::mask_.
Используется в pcl::visualization::ImageViewer::addMask(), pcl::visualization::ImageViewer::addPlanarPolygon() и pcl::visualization::ImageViewer::addRectangle().
testPoint()
| inlineprotected |
Проверить, находится ли точка, заданная индексом, среди k ближайших соседей в результатах запроса к точке запроса.
- Parameters
-
[in] query точка запроса [in] k количество максимальных ближайших соседей, которые нас интересуют [in,out] queue очередь с k ближайшими соседями [in] index индекс точки, подлежащей проверке
- Returns
- изменился ли верхний элемент или нет.
Определение в строке 212 файла organized.h.
Ссылки на pcl::search::Search< PointT >::input_ и pcl::search::OrganizedNeighbor< PointT >::mask_.
Member Data Documentation
eps_
| protected |
значение epsilon для оценки MSE проекционной матрицы
Определение в строке 272 файла organized.h.
KR_
| protected |
обратная матрица левой 3x3 проекционной матрицы, которая является K * R (где K - матрица камеры, а R - матрица вращения)
Определение в строке 266 файла organized.h.
Ссылка на pcl::search::OrganizedNeighbor< PointT >::isValid().
KR_KRT_
| protected |
обратная матрица левой 3x3 проекционной матрицы, которая является K * R (где K - матрица камеры, а R - матрица вращения)
Определение в строке 269 файла organized.h.
Ссылка на pcl::search::OrganizedNeighbor< PointT >::isValid().
mask_
| protected |
маска, указывающая, находилась ли точка в списке индексов или нет.
Определение в строке 278 файла organized.h.
Ссылка на pcl::search::OrganizedNeighbor< PointT >::setInputCloud() и pcl::search::OrganizedNeighbor< PointT >::testPoint().
projection_matrix_
| protected |
матрица проекции.
Устанавливается пользователем или вычисляется по первому/каждому входному облаку
Определение в строке 263 файла organized.h.
pyramid_level_
| protected |
используется только подвыборка точек для вычисления матрицы проекции.
pyramid_level_ = используется уменьшенное облако, заданное pyramid_level_
Определение в строке 275 файла organized.h.
The documentation for this class was generated from the following files:
- pcl/search/organized.h
- pcl/search/impl/organized.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1search_1_1_organized_neighbor.html