Метод реконструкции поверхности проекции на сетку. Подробнее...
#include <pcl/surface/grid_projection.h>
Вложенные классы | |
| структура | Лист |
| Данные листа. Подробнее... |
|
Публичные типы | |
| using | Ptr = shared_ptr< GridProjection< PointNT > > |
| using | ConstPtr = shared_ptr< const GridProjection< PointNT > > |
| using | PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr |
| using | KdTree = pcl::KdTree< PointNT > |
| using | KdTreePtr = typename KdTree::Ptr |
| using | HashMap = std::unordered_map< int, Leaf, std::hash< int >, std::equal_to<>, Eigen::aligned_allocator< std::pair< const int, Leaf > >> |
|
| |
| using | Ptr = shared_ptr< SurfaceReconstruction< PointNT > > |
| using | ConstPtr = shared_ptr< const SurfaceReconstruction< PointNT > > |
|
| |
| using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
| using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Публичные члены-функции | |
| GridProjection () | |
| Конструктор. Подробнее... |
|
| GridProjection (double in_resolution) | |
| Конструктор. Подробнее... |
|
| ~GridProjection () override | |
| Деструктор. Подробнее... |
|
| void | setResolution (double resolution) |
| Устанавливает размер ячейки сетки. Подробнее... |
|
| double | getResolution () const |
| void | setPaddingSize (int padding_size) |
| При усреднении векторов находится объединение всех точек входных данных в области с заданным отступом, и вычисляется взвешенное среднее значение. Подробнее... |
|
| int | getPaddingSize () const |
| void | setNearestNeighborNum (int k) |
| Устанавливается только при использовании поиска k ближайших соседей вместо поиска объединения точек. Подробнее... |
|
| int | getNearestNeighborNum () const |
| void | setMaxBinarySearchLevel (int max_binary_search_level) |
| Двоичный поиск используется в проекции. Подробнее... |
|
| int | getMaxBinarySearchLevel () const |
| const HashMap & | getCellHashMap () const |
| const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > & | getVectorAtDataPoint () const |
| const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > & | getSurface () const |
|
| |
| SurfaceReconstruction () | |
| Конструктор. Подробнее... |
|
| ~SurfaceReconstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод для восстановления поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) |
| Базовый метод для восстановления поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
|
| |
| PCLSurfaceBase () | |
| Пустой конструктор. Подробнее... |
|
| ~PCLSurfaceBase () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Укажите необязательный указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Получить указатель на метод поиска. Подробнее... |
|
|
| |
| PCLBase () | |
| Конструктор по умолчанию. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Укажите указатель на входные данные. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Получить указатель на входное облако точек. Подробнее... |
|
| virtual void | setIndices (const IndicesPtr &indices) |
| Укажите указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Укажите указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Укажите указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Установить индексы для точек, расположенных в интересующей области облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| const PointInT & | operator[] (std::size_t pos) const |
| Переопределить оператор PointCloud[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| void | getBoundingBox () |
| Получить рамку ограничивающего прямоугольника для входных точек данных, а также рассчитать размер ячейки и коэффициент масштабирования Гаусса. Подробнее... |
|
| bool | reconstructPolygons (std::vector< pcl::Vertices > &polygons) |
| Фактический метод реконструкции поверхности. Подробнее... |
|
| void | performReconstruction (pcl::PolygonMesh &output) override |
| Создать поверхность. Подробнее... |
|
| void | performReconstruction (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) override |
| Создать поверхность. Подробнее... |
|
| void | scaleInputDataPoint (double scale_factor) |
| Если входные точки данных не заполняют ячейку 1*1*1, масштабировать их, чтобы они могли заполнить единичную ячейку. Подробнее... |
|
| void | getCellIndex (const Eigen::Vector4f &p, Eigen::Vector3i &index) const |
| Получить 3d индекс (x,y,z) ячейки на основе ее расположения. Подробнее... |
|
| void | getCellCenterFromIndex (const Eigen::Vector3i &index, Eigen::Vector4f ¢er) const |
| По заданному 3d индексу (x, y, z) ячейки получить координаты центра ячейки. Подробнее... |
|
| void | getVertexFromCellCenter (const Eigen::Vector4f &cell_center, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &pts) const |
| По заданному центру ячейки, вычислить координаты восьми вершин ячейки. Подробнее... |
|
| int | getIndexIn1D (const Eigen::Vector3i &index) const |
| По заданному индексу (x, y, z) в 3d, преобразовать его в индекс в 1d. Подробнее... |
|
| void | getIndexIn3D (int index_1d, Eigen::Vector3i &index_3d) const |
| По заданному индексу в 1d, преобразовать его в индекс (x, y, z) в 3d. Подробнее... |
|
| void | fillPad (const Eigen::Vector3i &index) |
| Для заданного 3d индекса ячейки, проверить, существуют ли ячейки в области ее заполнения в хеш-таблице. Если нет, создать запись для этой ячейки. Подробнее... |
|
| void | getDataPtsUnion (const Eigen::Vector3i &index, pcl::Indices &pt_union_indices) |
| Получить индекс ячейки и размер заполнения. Подробнее... |
|
| void | createSurfaceForCell (const Eigen::Vector3i &index, pcl::Indices &pt_union_indices) |
| По заданному индексу ячейки, проверить грани сверху, слева, спереди и добавить вершины в список m_surface. Грани сверху, слева, спереди делят только 4 точки, сначала получаем векторы в этих 4 точках и проверяем, пересекаются ли эти три грани с поверхностью. Подробнее... |
|
| void | getProjection (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector4f &projection) |
| По заданным координатам точки, спроецировать ее на поверхность, вернуть спроецированную точку. Подробнее... |
|
| void | getProjectionWithPlaneFit (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector4f &projection) |
| По заданным координатам точки, спроецировать ее на поверхность, вернуть спроецированную точку. Подробнее... |
|
| void | getVectorAtPoint (const Eigen::Vector4f &p, pcl::Indices &pt_union_indices, Eigen::Vector3f &vo) |
| Дано положение точки, получить ее вектор. Подробнее... |
|
| void | getVectorAtPointKNN (const Eigen::Vector4f &p, pcl::Indices &k_indices, std::vector< float > &k_squared_distances, Eigen::Vector3f &vo) |
| Дано положение точки, получить ее вектор. Подробнее... |
|
| double | getMagAtPoint (const Eigen::Vector4f &p, const pcl::Indices &pt_union_indices) |
| Получить величину вектора, суммируя расстояние. Подробнее... |
|
| double | getD1AtPoint (const Eigen::Vector4f &p, const Eigen::Vector3f &vec, const pcl::Indices &pt_union_indices) |
| Получить 1-ю производную. Подробнее... |
|
| double | getD2AtPoint (const Eigen::Vector4f &p, const Eigen::Vector3f &vec, const pcl::Indices &pt_union_indices) |
| Получить 2-ю производную. Подробнее... |
|
| bool | isIntersected (const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &end_pts, std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > &vect_at_end_pts, pcl::Indices &pt_union_indices) |
| Проверить, пересекается ли отрезок с поверхностью, выполнив скалярное произведение векторов в двух конечных точках. Подробнее... |
|
| void | findIntersection (int level, const std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &end_pts, const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > &vect_at_end_pts, const Eigen::Vector4f &start_pt, pcl::Indices &pt_union_indices, Eigen::Vector4f &intersection) |
| Найти точку, где отрезок пересекает поверхность. Подробнее... |
|
| void | storeVectAndSurfacePoint (int index_1d, const Eigen::Vector3i &index_3d, pcl::Indices &pt_union_indices, const Leaf &cell_data) |
| Пройти по всем записям в хеш-таблице и обновить cellData. Подробнее... |
|
| void | storeVectAndSurfacePointKNN (int index_1d, const Eigen::Vector3i &index_3d, const Leaf &cell_data) |
| Пройти по всем записям в хеш-таблице и обновить cellData. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен быть вызван перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен быть вызван после завершения фактического вычисления. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | check_tree_ |
| Флаг, указывающий, требуется ли алгоритму реконструкции производного объекта поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Набор входных данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее... |
|
Подробное описание
шаблон<typename PointNT>
класс pcl::GridProjection< PointNT >
Метод реконструкции поверхности проекцией на сетку.
- Примечание
- Если вы используете этот код в любой академической работе, пожалуйста, укажите:
- Ruosi Li, Lu Liu, Ly Phan, Sasakthi Abeysinghe, Cindy Grimm, Tao Ju. Polygonizing extremal surfaces with manifold guarantees. В материалах 14-й ACM-симпозиум по твердотельным и физическим моделям, 2010.
Определение в строке 75 файла grid_projection.h.
Документация по перечислениям типов членов
ConstPtr
| используя pcl::GridProjection< PointNT >::ConstPtr = shared_ptr<const GridProjection<PointNT> > |
Определение в строке 79 файла grid_projection.h.
HashMap
| используя pcl::GridProjection< PointNT >::HashMap = std::unordered_map<int, Leaf, std::hash<int>, std::equal_to<>, Eigen::aligned_allocator<std::pair<const int, Leaf> >> |
Определение в строке 99 файла grid_projection.h.
KdTree
| используя pcl::GridProjection< PointNT >::KdTree = pcl::KdTree<PointNT> |
Определение в строке 86 файла grid_projection.h.
KdTreePtr
| используя pcl::GridProjection< PointNT >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 87 файла grid_projection.h.
PointCloudPtr
| используя pcl::GridProjection< PointNT >::PointCloudPtr = typename pcl::PointCloud<PointNT>::Ptr |
Определение в строке 84 файла grid_projection.h.
Ptr
| using pcl::GridProjection< PointNT >::Ptr = shared_ptr<GridProjection<PointNT> > |
Определение в строке 78 файла grid_projection.h.
Документация конструктора и деструктора
GridProjection() [1/2]
| pcl::GridProjection< PointNT >::GridProjection |
Конструктор.
Определение в строке 49 файла grid_projection.hpp.
GridProjection() [2/2]
| pcl::GridProjection< PointNT >::GridProjection | ( | double | in_resolution | ) |
Конструктор.
- Параметры
-
in_resolution установить разрешение сетки
Определение в строке 56 файла grid_projection.hpp.
~GridProjection()
| override |
Деструктор.
Определение в строке 63 файла grid_projection.hpp.
Документация по членам-функциям
createSurfaceForCell()
| protected |
Принимая индекс ячейки, проверяет грани сверху, слева, спереди и добавляет вершины в список m_surface. Грани сверху, слева, спереди делят только 4 точки. Сначала мы получаем векторы в этих 4 точках и проверяем, пересекают ли эти три грани поверхность.
- Параметры
-
index входной индекс pt_union_indices объединение входных точек данных в ячейке и ячейках заполнения
Определение в строке 174 файла grid_projection.hpp.
Ссылки на pcl::I_SHIFT_EDGE и pcl::I_SHIFT_PT.
fillPad()
| protected |
Для заданного 3d индекса ячейки проверяет, существуют ли ячейки в области заполнения в таблице хеширования. Если нет, создаёт запись для этой ячейки.
- Параметры
-
index индекс ячейки в формате (x,y,z)
Определение в строке 551 файла grid_projection.hpp.
findIntersection()
| protected |
Нахождение точки пересечения ребра с поверхностью.
- Параметры
-
level уровень бинарного поиска end_pts две конечные точки на ребре vect_at_end_pts векторы в двух конечных точках start_pt начальная точка, которую мы используем для бинарного поиска pt_union_indices объединение входных точек данных в ячейке и ячейках заполнения intersection результирующая точка пересечения
Определение в строке 503 файла grid_projection.hpp.
getBoundingBox()
| protected |
Получение прямоугольной области для входных точек данных, а также вычисление размера ячейки и коэффициента масштабирования Гаусса.
Определение в строке 87 файла grid_projection.hpp.
Ссылки на pcl::getMinMax3D().
getCellCenterFromIndex()
| inlineprotected |
Учитывая 3d индекс (x, y, z) ячейки, получить координаты центра ячейки.
- Parameters
-
index выходной 3d индекс center результирующий центр ячейки
Определение в строке 261 файла grid_projection.h.
getCellHashMap()
| inline |
Определение в строке 179 файла grid_projection.h.
getCellIndex()
| inlineprotected |
Получить 3d индекс (x,y,z) ячейки на основе местоположения ячейки.
- Parameters
-
p координата входной точки index выходной 3d индекс
Определение в строке 249 файла grid_projection.h.
getD1AtPoint()
| protected |
Получить первую производную.
- Parameters
-
p координата входной точки vec вектор в точке p pt_union_indices объединение входных точек данных в ячейке и ячейках заполнения
Определение в строке 442 файла grid_projection.hpp.
getD2AtPoint()
| protected |
Получить вторую производную.
- Parameters
-
p координата входной точки vec вектор в точке p pt_union_indices объединение входных точек данных в ячейке и ячейках заполнения
Определение в строке 455 файла grid_projection.hpp.
getDataPtsUnion()
| protected |
Получить индекс ячейки и размер заполнения.
- Parameters
-
index входной индекс pt_union_indices объединение входных точек данных в ячейке и ячейках заполнения
Определение в строке 148 файла grid_projection.hpp.
getIndexIn1D()
| inlineprotected |
Учитывая индекс (x, y, z) в 3d, перевести его в индекс в 1d.
- Parameters
-
index индекс ячейки в формате 3d (x,y,z)
Определение в строке 283 файла grid_projection.h.
getIndexIn3D()
| inlineprotected |
При заданном индексе в 1D, преобразуйте его в индекс (x, y, z) в 3D.
- Parameters
-
index_1d входной индекс 1D index_3d результирующий индекс 3D
Определение в строке 296 файла grid_projection.h.
getMagAtPoint()
| protected |
Получить величину вектора, суммируя расстояние.
- Parameters
-
p координаты входной точки pt_union_indices объединение входных точек данных внутри ячейки и ячеек заполнения
Определение в строке 426 файла grid_projection.hpp.
Ссылки на M_E.
getMaxBinarySearchLevel()
| inline |
Определение в строке 172 файла grid_projection.h.
getNearestNeighborNum()
| inline |
Определение в строке 157 файла grid_projection.h.
getPaddingSize()
| inline |
Определение в строке 142 файла grid_projection.h.
getProjection()
| protected |
Выполнить проекцию точки на поверхность и вернуть проецированную точку.
Выполнить двоичный поиск между p и p+projection_distance для поиска проецированной точки
- Parameters
-
p координаты входной точки pt_union_indices объединение входных точек данных внутри ячейки и ячеек заполнения projection результирующая проецированная точка
Определение в строке 273 файла grid_projection.hpp.
getProjectionWithPlaneFit()
| protected |
Выполнить проекцию точки на поверхность и вернуть проецированную точку.
Найти плоскость, которая подходит для всех точек в pt_union_indices, спроецировать p на плоскость, чтобы получить проецированную точку.
- Parameters
-
p координаты входной точки pt_union_indices объединение входных точек данных внутри ячейки и ячеек заполнения projection результирующая проецированная точка
- Remarks
- итеративные взвешенные наименьшие квадраты или SAC могут дать лучшие результаты
Определение в строке 312 файла grid_projection.hpp.
Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::geometry::distance(), и pcl::eigen33().
getResolution()
| inline |
Определение в строке 122 файла grid_projection.h.
getSurface()
| inline |
Определение в строке 191 файла grid_projection.h.
getVectorAtDataPoint()
| inline |
Определение в строке 185 файла grid_projection.h.
getVectorAtPoint()
| protected |
Получение вектора точки по ее координатам.
- Parameters
-
p координаты входной точки pt_union_indices объединение входных точек данных в ячейке и смежных ячейках vo результирующий вектор
Определение в строке 347 файла grid_projection.hpp.
Ссылки на pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::getMean() и M_E.
getVectorAtPointKNN()
| protected |
Получение вектора точки по ее координатам.
- Parameters
-
p координаты входной точки k_indices k ближайших соседей точки запроса k_squared_distances квадраты расстояний k ближайших соседей от точки запроса vo результирующий вектор
Определение в строке 392 файла grid_projection.hpp.
Ссылки на pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::getEigenVector1() и M_E.
getVertexFromCellCenter()
| protected |
Вычисление координат восьми вершин ячейки по координатам центра ячейки.
- Parameters
-
cell_center координаты центра ячейки pts координаты 8 вершин
Определение в строке 128 файла grid_projection.hpp.
isIntersected()
| protected |
Проверка пересечения ребра с поверхностью с помощью скалярного произведения векторов в двух конечных точках.
Также проверяется пересечение ребра с максимальной поверхностью путем анализа второго производного пересечения.
- Parameters
-
end_pts две точки ребра vect_at_end_pts pt_union_indices объединение входных точек данных в ячейке и смежных ячейках
Определение в строке 468 файла grid_projection.hpp.
performReconstruction() [1/2]
| overrideprotectedvirtual |
Создать поверхность.
Первый шаг — заполнение области обрезки, чтобы все ячейки в области обрезки находились в хеш-таблице. Второй шаг — сохранение вектора и спроецированной точки. Третий шаг — нахождение всех ребер, пересекающих поверхность, и создание поверхности.
- Параметры
-
[out] points результирующие точки, лежащие на поверхности [out] polygons результирующие полигоны в виде набора вершин. Структура Vertices содержит массив индексов точек.
Реализует pcl::SurfaceReconstruction< PointNT >.
Определение в строке 743 файла grid_projection.hpp.
Ссылки на pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
performReconstruction() [2/2]
| overrideprotectedvirtual |
Создать поверхность.
Первый шаг — заполнение области обрезки, чтобы все ячейки в области обрезки находились в хеш-таблице. Второй шаг — сохранение вектора и спроецированной точки. Третий шаг — нахождение всех ребер, пересекающих поверхность, и создание поверхности.
- Параметры
-
[out] output результирующая полигональная сетка
Реализует pcl::SurfaceReconstruction< PointNT >.
Определение в строке 717 файла grid_projection.hpp.
Ссылки на pcl::PolygonMesh::cloud, pcl::PolygonMesh::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PolygonMesh::polygons, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), pcl::toPCLPointCloud2() и pcl::PointCloud< PointT >::width.
reconstructPolygons()
| protected |
Фактический метод реконструкции поверхности.
- Параметры
-
[out] polygons результирующие полигоны в виде набора вершин. Структура Vertices содержит массив индексов точек.
Определение в строке 615 файла grid_projection.hpp.
Ссылки на pcl::GridProjection< PointNT >::Leaf::data_indices, pcl::GridProjection< PointNT >::Leaf::pt_on_surface и pcl::Vertices::vertices.
scaleInputDataPoint()
| protected |
Когда входные точки данных не заполняют куб 1*1*1, масштабировать их, чтобы они могли быть заполнены в единичном кубе.
В противном случае при визуализации могут возникнуть проблемы с отрисовкой.
- Параметры
-
scale_factor масштабировать все входные точки данных на scale_factor
Определение в строке 74 файла grid_projection.hpp.
setMaxBinarySearchLevel()
| inline |
В проекции используется двоичный поиск.
Для данной точки x мы находим другую точку, которая находится на расстоянии 3*cell_size_ от x. Затем мы выполняем двоичный поиск между этими двумя точками, чтобы определить, где должна находиться спроецированная точка.
Определение в строке 167 файла grid_projection.h.
setNearestNeighborNum()
| inline |
Устанавливается только при использовании поиска k ближайших соседей вместо поиска объединённой точки.
- Параметры
-
k Количество ближайших соседей, которые необходимо найти
Определение в строке 152 файла grid_projection.h.
setPaddingSize()
| inline |
При усреднении векторов мы находим объединение всех точек входных данных в области заполнения и выполняем взвешенное усреднение.
Предположим, что размер заполнения равен 1. При обработке ячейки (x,y,z) мы найдем объединение точек входных данных от (x-1) до (x+1), от (y-1) до (y+1), от (z-1) до (z+1) (всего 27 ячеек). Таким образом, даже если сами ячейки не содержат точек данных, мы все равно обработаем их, поскольку в области заполнения есть точки данных. Это может помочь нам исправить отверстия, которые меньше размера заполнения.
- Параметры
-
padding_size Количество ячеек заполнения, которые мы хотим создать
Определение в строке 137 файла grid_projection.h.
setResolution()
| inline |
Устанавливает размер ячейки сетки.
- Параметры
-
resolution размер ячейки сетки
Определение в строке 116 файла grid_projection.h.
storeVectAndSurfacePoint()
| protected |
Проходим по всем записям в хеш-таблице и обновляем cellData.
При создании хеш-таблицы поле pt_on_surface хранит центральную точку ячейки. После вызова этой функции оператор проекции спроецирует центральную точку на поверхность, и поле pt_on_surface будет обновлено с помощью спроецированной точки. Также поле vect_at_grid_pt будет обновлено с использованием вектора в вершине ячейки в верхнем левом переднем углу.
- Параметры
-
index_1d индекс ячейки после её 3d индекса в одномерный массив index_3d индекс ячейки в формате (x,y,z) 3d pt_union_indices объединение точек входных данных внутри ячейки и областей заполнения cell_data информация, хранящаяся в ячейке
Определение в строке 574 файла grid_projection.hpp.
Ссылки на pcl::GridProjection< PointNT >::Leaf::pt_on_surface.
storeVectAndSurfacePointKNN()
| protected |
Проходим по всем записям в хеш-таблице и обновляем cellData.
При создании хеш-таблицы поле pt_on_surface хранит центральную точку ячейки. После вызова этой функции оператор проекции спроецирует центральную точку на поверхность, и поле pt_on_surface будет обновлено с помощью спроецированной точки. Также поле vect_at_grid_pt будет обновлено с использованием вектора в вершине ячейки в верхнем левом переднем углу. При проекции точки и вычислении вектора используются k ближайших соседей вместо объединения точки входных данных внутри ячейки и областей заполнения.
- Параметры
-
index_1d индекс ячейки после её 3d индекса в одномерный массив index_3d индекс ячейки в формате (x,y,z) 3d cell_data информация, хранящаяся в ячейке
Определение в строке 592 файла grid_projection.hpp.
Ссылки на pcl::GridProjection< PointNT >::Leaf::pt_on_surface.
Документация для этого класса была сгенерирована из следующих файлов:
- pcl/surface/grid_projection.h
- pcl/surface/impl/grid_projection.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_grid_projection.html