Реализация медианного фильтра. Подробнее...
#include <pcl/filters/median_filter.h>
Открытые функции-члены | |
| MedianFilter ()=default | |
| Конструктор без параметров. Подробнее... |
|
| void | setWindowSize (int window_size) |
| Задать размер окна фильтра. Подробнее... |
|
| int | getWindowSize () const |
| Получить размер окна фильтра. Подробнее... |
|
| void | setMaxAllowedMovement (float max_allowed_movement) |
| Задать максимальное допустимое перемещение одного декса. Подробнее... |
|
| float | getMaxAllowedMovement () const |
| Получить максимальное расстояние, на которое точка может переместиться вдоль оси z. Подробнее... |
|
| void | applyFilter (PointCloud &output) override |
|
Отфильтровать входные данные и сохранить результат в output. Подробнее... |
|
|
| |
| Filter (bool extract_removed_indices=false) | |
| Конструктор без параметров. Подробнее... |
|
| IndicesConstPtr const | getRemovedIndices () const |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | getRemovedIndices (PointIndices &pi) |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | filter (PointCloud &output) |
| Вызывает метод фильтрации и возвращает отфильтрованный набор данных в 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, чтобы сократить код. Подробнее... |
|
Защищённые атрибуты | |
| int | window_size_ {5} |
| float | max_allowed_movement_ {std::numeric_limits<float>::max ()} |
|
| |
| IndicesPtr | removed_indices_ |
| Индексы удалённых точек. Подробнее... |
|
| std::string | filter_name_ |
| Имя фильтра. Подробнее... |
|
| bool | extract_removed_indices_ |
| Установить в true, если необходимо возвращать индексы удалённых точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на используемый вектор индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установить в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| 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 |
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::MedianFilter< PointT >
Реализация медианного фильтра.
Медианный фильтр — один из самых простых и широко распространённых фильтров обработки изображений. Он хорошо справляется с импульсным шумом (отдельные пиксели имеют экстремальные значения), не снижает контраст на границах ступенчатых изменений функции (в отличие от фильтров, основанных на усреднении) и устойчив к выбросам. Кроме того, он прост в реализации и эффективен, поскольку для его применения требуется один проход по изображению. Фильтр использует скользящее окно фиксированного размера, заменяя значение центрального пикселя медианой значений внутри окна.
- Примечание
- Этот алгоритм фильтрует только глубину (z-компоненту) упорядоченных облаков точек, не подвергавшихся преобразованию (то есть представленных в координатах камеры). Если экземпляру класса передать неупорядоченное облако, будет выведено сообщение об ошибке.
Определение в строке 60 файла median_filter.h.
Описание конструктора и деструктора
MedianFilter()
| default |
Пустой конструктор.
Описание функций-членов
applyFilter()
| overridevirtual |
Отфильтровать входные данные и сохранить результаты в выходных данных.
- Параметры
-
[out] output выходное облако точек с результатом
Реализует pcl::Filter< PointT >.
Определение в строке 46 файла median_filter.hpp.
Ссылки: pcl::copyPointCloud(), pcl::PointCloud< PointT >::height, pcl::isFinite() и pcl::PointCloud< PointT >::width.
getMaxAllowedMovement()
| inline |
Получить максимальное расстояние, на которое разрешено перемещаться точке вдоль оси z.
- Возвращает
- максимальное расстояние, на которое разрешено перемещаться декселю
Определение в строке 94 файла median_filter.h.
getWindowSize()
| inline |
Получить размер окна фильтра.
- Возвращает
- размер окна фильтра
Определение в строке 80 файла median_filter.h.
setMaxAllowedMovement()
| inline |
Задать максимальное значение, на которое разрешено перемещаться одному декселю.
- Параметры
-
[in] max_allowed_movement максимальное значение, на которое разрешено перемещаться декселю во время фильтрации
Определение в строке 87 файла median_filter.h.
setWindowSize()
| inline |
Задать размер окна фильтра.
- Параметры
-
[in] window_size новый размер окна
Определение в строке 73 файла median_filter.h.
Описание данных-членов
max_allowed_movement_
| protected |
Определение в строке 105 файла median_filter.h.
Используется в функциях pcl::MedianFilter< PointT >::getMaxAllowedMovement() и pcl::MedianFilter< PointT >::setMaxAllowedMovement().
window_size_
| protected |
Определение в строке 104 файла median_filter.h.
Используется в функциях pcl::MedianFilter< PointT >::getWindowSize() и pcl::MedianFilter< PointT >::setWindowSize().
Документация этого класса создана на основе следующих файлов:
- pcl/filters/median_filter.h
- pcl/filters/impl/median_filter.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_median_filter.html