RadiusOutlierRemoval фильтрует точки облака на основе количества их соседей. Подробнее...
#include <pcl/filters/radius_outlier_removal.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< RadiusOutlierRemoval< PointT > > |
| using | ConstPtr = shared_ptr< const RadiusOutlierRemoval< PointT > > |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | Ptr = shared_ptr< FilterIndices< PointT > > |
| using | ConstPtr = shared_ptr< const FilterIndices< PointT > > |
|
| |
| using | Ptr = shared_ptr< Filter< PointT > > |
| using | ConstPtr = shared_ptr< const Filter< PointT > > |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Открытые функции-члены | |
| RadiusOutlierRemoval (bool extract_removed_indices=false) | |
| Конструктор. Подробнее... |
|
| void | setRadiusSearch (double radius) |
| Задать радиус сферы, определяющий, какие точки являются соседними. Подробнее... |
|
| double | getRadiusSearch () |
| Получить радиус сферы, определяющий, какие точки являются соседними. Подробнее... |
|
| void | setMinNeighborsInRadius (int min_pts) |
| Задать число соседей, необходимое для классификации точки как внутренней. Подробнее... |
|
| int | getMinNeighborsInRadius () |
| Получить число соседей, необходимое для классификации точки как внутренней. Подробнее... |
|
| void | setSearchMethod (const SearcherPtr &searcher) |
| Передать указатель на объект поиска. Подробнее... |
|
| void | setNumberOfThreads (unsigned int nr_threads=0) |
| Задать число используемых потоков. Подробнее... |
|
|
| |
| FilterIndices (bool extract_removed_indices=false) | |
| Конструктор. Подробнее... |
|
| void | filter (Indices &indices) |
| Вызывает метод фильтрации и возвращает индексы отфильтрованных точек облака. Подробнее... |
|
| void | setNegative (bool negative) |
| Задать, следует ли применять обычные условия фильтрации точек или инвертированные. Подробнее... |
|
| bool | getNegative () const |
| Получить сведения о том, следует ли применять обычные условия фильтрации точек или инвертированные. Подробнее... |
|
| void | setKeepOrganized (bool keep_organized) |
| Задать, следует ли сохранять отфильтрованные точки и присваивать им значение, указанное через setUserFilterValue (по умолчанию: NaN), или удалять их из PointCloud, что может нарушить его упорядоченную структуру. Подробнее... |
|
| bool | getKeepOrganized () const |
| Получить сведения о том, следует ли сохранять отфильтрованные точки и присваивать им значение, указанное через setUserFilterValue (по умолчанию = NaN), или удалять их из PointCloud, что может нарушить его упорядоченную структуру. Подробнее... |
|
| void | setUserFilterValue (float value) |
| Задать значение, которое будет присваиваться отфильтрованным точкам вместо их удаления. Подробнее... |
|
|
| |
| Filter (bool extract_removed_indices=false) | |
| Конструктор без параметров. Подробнее... |
|
| IndicesConstPtr const | getRemovedIndices () const |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | getRemovedIndices (PointIndices &pi) |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | filter (PointCloud &output) |
| Вызывает метод фильтрации и возвращает отфильтрованный набор данных в выходном параметре. Подробнее... |
|
|
| |
| 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 PointT & | operator[] (std::size_t pos) const |
| Переопределяет оператор [] класса PointCloud, чтобы сократить код. Подробнее... |
|
Защищённые типы | |
| using | PointCloud = typename FilterIndices< PointT >::PointCloud |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | SearcherPtr = typename pcl::search::Search< PointT >::Ptr |
Защищённые функции-члены | |
| void | applyFilter (Indices &indices) override |
| Результаты фильтрации представлены массивом индексов. Подробнее... |
|
| void | applyFilterIndices (Indices &indices) |
| Результаты фильтрации представлены массивом индексов. Подробнее... |
|
|
| |
| void | applyFilter (PointCloud &output) override |
| Абстрактный метод фильтрации облака точек. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| bool | negative_ {false} |
| False = обычное поведение фильтра (по умолчанию), true = инвертированное поведение. Подробнее... |
|
| bool | keep_organized_ {false} |
| False = удалить точки (по умолчанию), true = переопределить точки, сохранив структуру. Подробнее... |
|
| float | user_filter_value_ |
| Заданное пользователем значение, которому присваиваются координаты отфильтрованных точек (по умолчанию = NaN). Подробнее... |
|
|
| |
| IndicesPtr | removed_indices_ |
| Индексы удалённых точек. Подробнее... |
|
| std::string | filter_name_ |
| Имя фильтра. Подробнее... |
|
| bool | extract_removed_indices_ |
| Установите значение true, если требуется возвращать индексы удалённых точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, имитирующий входное облако PointCloud. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::RadiusOutlierRemoval< PointT >
RadiusOutlierRemoval фильтрует точки облака на основе числа их соседей.
Один раз проходит по всему входному набору и для каждой точки получает число соседей в пределах заданного радиуса. Точка считается выбросом, если у неё слишком мало соседей; это определяется методом setMinNeighborsInRadius(). Радиус можно изменить с помощью метода setRadiusSearch().
Соседи для каждой точки запроса ищутся среди ВСЕХ точек, переданных в setInputCloud(), а не только среди точек, заданных индексами setIndices(). Метод setIndices() задаёт индексы только тех точек, которые будут перебираться в качестве точек запроса для поиска.
Пример использования:
pcl::RadiusOutlierRemoval<PointType> rorfilter (true); // Initializing with true will allow us to extract the removed indices rorfilter.setInputCloud (cloud_in); rorfilter.setRadiusSearch (0.1); rorfilter.setMinNeighborsInRadius (5); rorfilter.setNegative (true); rorfilter.filter (*cloud_out); // The resulting cloud_out contains all points of cloud_in that have 4 or less neighbors within the 0.1 search radius indices_rem = rorfilter.getRemovedIndices (); // The indices_rem array indexes all points of cloud_in that have 5 or more neighbors within the 0.1 search radius pcl::RadiusOutlierRemovalRadiusOutlierRemoval filters points in a cloud based on the number of neighbors they have.Definition: radius_outlier_removal.h:73 pcl::RadiusOutlierRemoval RadiusOutlierRemoval filters points in a cloud based on the number of neighbors they have. Definition: radius_outlier_removal.h:73
- См. также
- StatisticalOutlierRemoval
Определение в строке 72 файла radius_outlier_removal.h.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::RadiusOutlierRemoval< PointT >::ConstPtr = shared_ptr<const RadiusOutlierRemoval<PointT> > |
Определение в строке 83 файла radius_outlier_removal.h.
PointCloud
| protected |
Определение в строке 75 файла radius_outlier_removal.h.
PointCloudConstPtr
| protected |
Определение в строке 77 файла radius_outlier_removal.h.
PointCloudPtr
|
Определение в строке 76 файла radius_outlier_removal.h.
Ptr
| using pcl::RadiusOutlierRemoval< PointT >::Ptr = shared_ptr<RadiusOutlierRemoval<PointT> > |
Определение в строке 82 файла radius_outlier_removal.h.
SearcherPtr
| protected |
Определение в строке 78 файла radius_outlier_removal.h.
Документация конструкторов и деструкторов
RadiusOutlierRemoval()
| inline |
Конструктор.
- Параметры
-
[in] extract_removed_indices Установите значение true, если требуется извлекать индексы удаляемых точек (по умолчанию = false).
Определение в строке 89 файла radius_outlier_removal.h.
Ссылки на pcl::Filter< PointT >::filter_name_.
Документация функций-членов
applyFilter()
| void pcl::RadiusOutlierRemoval< PointT >::applyFilter | ( | Indices & | indices | ) |
Результаты фильтрации представлены массивом индексов.
- Параметры
-
[out] indices Итоговые индексы.
Реализует метод pcl::FilterIndices< PointT >.
Определение в строке 179 файла radius_outlier_removal.h.
Ссылки на pcl::RadiusOutlierRemoval< PointT >::applyFilterIndices().
applyFilterIndices()
| protected |
Результаты фильтрации представлены массивом индексов.
- Параметры
-
[out] indices Итоговые индексы.
Определение в строке 49 файла radius_outlier_removal.hpp.
Ссылки на pcl::isXYZFinite().
Используется в pcl::RadiusOutlierRemoval< PointT >::applyFilter().
getMinNeighborsInRadius()
| inline |
Получить число соседей, необходимое для классификации точки как внутренней.
Число точек в пределах расстояния, задаваемого методом setRadiusSearch() от точки запроса, должно быть не меньше этого значения, чтобы точка считалась внутренней (то есть не фильтровалась).
- Возвращает
- Минимальное число соседей (по умолчанию = 1).
Определение в строке 135 файла radius_outlier_removal.h.
getRadiusSearch()
| inline |
Получить радиус сферы, который определяет, какие точки являются соседними.
Чтобы точка запроса была классифицирована как допустимая (то есть не отфильтрована), количество точек на этом расстоянии от неё должно быть не меньше значения, заданного функцией setMinNeighborsInRadius().
- Возвращает
- Радиус сферы для поиска ближайших соседей.
Определение в строке 113 файла radius_outlier_removal.h.
setMinNeighborsInRadius()
| inline |
Задать число соседей, необходимое для классификации точки как допустимой.
Чтобы точка запроса была классифицирована как допустимая (то есть не отфильтрована), количество точек в пределах радиуса, заданного функцией setRadiusSearch(), должно быть не меньше этого значения.
- Параметры
-
min_pts Минимальное число соседей (по умолчанию = 1).
Определение в строке 124 файла radius_outlier_removal.h.
setNumberOfThreads()
| inline |
Задать число используемых потоков.
- Параметры
-
nr_threads число используемых аппаратных потоков (0 возвращает автоматический режим)
Определение в строке 152 файла radius_outlier_removal.h.
setRadiusSearch()
| inline |
Задать радиус сферы, который определяет, какие точки являются соседними.
Чтобы точка запроса была классифицирована как допустимая (то есть не отфильтрована), количество точек на этом расстоянии от неё должно быть не меньше значения, заданного функцией setMinNeighborsInRadius().
- Параметры
-
[in] radius Радиус сферы для поиска ближайших соседей.
Определение в строке 102 файла radius_outlier_removal.h.
setSearchMethod()
| inline |
Передать указатель на объект поиска.
Вызов этого метода необязателен. Если его не вызвать, метод поиска будет выбран автоматически.
- Параметры
-
[in] searcher указатель на объект пространственного поиска.
Определение в строке 145 файла radius_outlier_removal.h.
Документация этого класса создана на основе следующих файлов:
- pcl/filters/radius_outlier_removal.h
- pcl/filters/impl/radius_outlier_removal.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_radius_outlier_removal.html