Spec-Zone.ru › PointCloudLibrary

OrganizedNeighbor является классом для оптимизированного поиска ближайших соседей в упорядоченных облаках точек. Подробнее...

#include <pcl/search/organized.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Вложенные классы

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 > >
- Общедоступные типы, унаследованные от pcl::search::Search< 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
Проектирование точки в изображение Подробнее...
- Открытые члены-функции, унаследованные от pcl::search::Search< PointT >
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. Подробнее...
- Защищённые члены класса унаследованные от pcl::search::Search< PointT >
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_
маска, показывающая, была ли точка в списке индексов или нет. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::search::Search< PointT >
PointCloudConstPtr input_
IndicesConstPtr indices_
bool sorted_results_
std::string name_

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

шаблон<typename PointT>
класс pcl::search::OrganizedNeighbor< PointT >

OrganizedNeighbor — это класс для оптимизированного поиска ближайших соседей в организованных облаках точек.

Автор
Radu B. Rusu, Julius Kammerl, Suat Gedikli, Koen Buys

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

Документация по typedef-членам

ConstPtr

шаблон<typename PointT >
используется pcl::search::OrganizedNeighbor< PointT >::ConstPtr = shared_ptr<const pcl::search::OrganizedNeighbor<PointT> >

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

PointCloud

шаблон<typename PointT >
используется pcl::search::OrganizedNeighbor< PointT >::PointCloud = pcl::PointCloud<PointT>

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

PointCloudConstPtr

шаблон<typename PointT >
используется pcl::search::OrganizedNeighbor< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr

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

PointCloudPtr

шаблон<typename PointT >
используется pcl::search::OrganizedNeighbor< PointT >::PointCloudPtr = typename PointCloud::Ptr

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

Ptr

template<typename PointT >
using pcl::search::OrganizedNeighbor< PointT >::Ptr = shared_ptr<pcl::search::OrganizedNeighbor<PointT> >

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

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

OrganizedNeighbor()

template<typename PointT >
pcl::search::OrganizedNeighbor< PointT >::OrganizedNeighbor ( bool sorted_results = false,
float eps = 1e-4f,
unsigned pyramid_level = 5
)
inline

Конструктор.

Параметры
[in] sorted_results указывает, следует ли возвращать отсортированные результаты в порядке возрастания расстояний или нет. Это относится только к поиску по радиусу, так как knn всегда возвращает отсортированные результаты
[in] eps порог для среднеквадратичной ошибки оценки проекционной матрицы. Если MSE превышает это значение, то облако точек считается не полученным с проекционного устройства, поэтому поиск организованных соседей не может быть применён к этому облаку.
[in] pyramid_level уровень сэмплирования облака точек с понижением разрешения, используемый для оценки проекционной матрицы

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

~OrganizedNeighbor()

template<typename PointT >
pcl::search::OrganizedNeighbor< PointT >::~OrganizedNeighbor ( )
overridedefault

Пустой деструктор.

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

clipRange()

template<typename PointT >
void pcl::search::OrganizedNeighbor< PointT >::clipRange ( int & begin,
int & end,
int min,
int max
) const
inlineprotected

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

computeCameraMatrix()

template<typename PointT >
void pcl::search::OrganizedNeighbor< PointT >::computeCameraMatrix ( Eigen::Matrix3f & camera_matrix ) const

Вычисление матрицы камеры.

Параметры
[out] camera_matrix результирующая вычисленная матрица камеры

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

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

estimateProjectionMatrix()

template<typename PointT >
void pcl::search::OrganizedNeighbor< PointT >::estimateProjectionMatrix

оценка проекционной матрицы из входного облака.

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

Ссылка на pcl::search::OrganizedNeighbor< PointT >::setInputCloud().

getProjectedRadiusSearchBox()

template<typename PointT >
void pcl::search::OrganizedNeighbor< PointT >::getProjectedRadiusSearchBox ( const PointT & point,
float squared_radius,
unsigned & minX,
unsigned & minY,
unsigned & maxX,
unsigned & maxY
) const
protected

Получение области поиска в 2D из сферы с радиусом в 3D.

Параметры
[in] point точка запроса (центр сферы)
[in] squared_radius квадрат радиуса сферы
[out] minX минимальная координата X области
[out] minY минимальная координата Y области
[out] maxX максимальная координата X области
[out] maxY максимальная координата Y области

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

isValid()

template<typename PointT >
bool pcl::search::OrganizedNeighbor< PointT >::isValid ( ) const
inline

Проверка, является ли этот объект поиска корректным (входные данные организованные И от проективного устройства) Пользователь должен использовать этот метод после установки входного облака, поскольку setInput просто выводит ошибку, если вход не организован или матрица проекции не может быть определена.

Возвращает
true, если входные данные организованы и получены с проективного устройства, false в противном случае

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

Ссылки на pcl::search::Search< PointT >::input_, pcl::search::OrganizedNeighbor< PointT >::KR_, и pcl::search::OrganizedNeighbor< PointT >::KR_KRT_.

nearestKSearch()

template<typename PointT >
int pcl::search::OrganizedNeighbor< PointT >::nearestKSearch ( const PointT & p_q,
int k,
Indices & k_indices,
std::vector< float > & k_sqr_distances
) const
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()

template<typename PointT >
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()

template<typename PointT >
int pcl::search::OrganizedNeighbor< PointT >::radiusSearch ( const PointT & p_q,
double radius,
Indices & k_indices,
std::vector< float > & k_sqr_distances,
unsigned int max_nn = 0
) const
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()

template<typename PointT >
void pcl::search::OrganizedNeighbor< PointT >::setInputCloud ( const PointCloudConstPtr & cloud,
const IndicesConstPtr & indices = IndicesConstPtr ()
)
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()

template<typename PointT >
bool pcl::search::OrganizedNeighbor< PointT >::testPoint ( const PointT & query,
unsigned k,
std::vector< Entry > & queue,
index_t index
) const
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_

template<typename PointT >
const float pcl::search::OrganizedNeighbor< PointT >::eps_
protected

значение epsilon для оценки MSE проекционной матрицы

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

KR_

template<typename PointT >
Eigen::Matrix<float, 3, 3, Eigen::RowMajor> pcl::search::OrganizedNeighbor< PointT >::KR_
protected

обратная матрица левой 3x3 проекционной матрицы, которая является K * R (где K - матрица камеры, а R - матрица вращения)

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

Ссылка на pcl::search::OrganizedNeighbor< PointT >::isValid().

KR_KRT_

template<typename PointT >
Eigen::Matrix<float, 3, 3, Eigen::RowMajor> pcl::search::OrganizedNeighbor< PointT >::KR_KRT_
protected

обратная матрица левой 3x3 проекционной матрицы, которая является K * R (где K - матрица камеры, а R - матрица вращения)

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

Ссылка на pcl::search::OrganizedNeighbor< PointT >::isValid().

mask_

template<typename PointT >
std::vector<unsigned char> pcl::search::OrganizedNeighbor< PointT >::mask_
protected

маска, указывающая, находилась ли точка в списке индексов или нет.

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

Ссылка на pcl::search::OrganizedNeighbor< PointT >::setInputCloud() и pcl::search::OrganizedNeighbor< PointT >::testPoint().

projection_matrix_

template<typename PointT >
Eigen::Matrix<float, 3, 4, Eigen::RowMajor> pcl::search::OrganizedNeighbor< PointT >::projection_matrix_
protected

матрица проекции.

Устанавливается пользователем или вычисляется по первому/каждому входному облаку

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

pyramid_level_

template<typename PointT >
const unsigned pcl::search::OrganizedNeighbor< PointT >::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

Spec-Zone.ru

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