Реализация двусторонней фильтрации на основе следующей статьи: Подробнее...
#include <pcl/surface/bilateral_upsampling.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< BilateralUpsampling< PointInT, PointOutT > > |
| using | ConstPtr = shared_ptr< const BilateralUpsampling< PointInT, PointOutT > > |
| using | PointCloudOut = pcl::PointCloud< PointOutT > |
|
| |
| using | Ptr = shared_ptr< CloudSurfaceProcessing< PointInT, PointOutT > > |
| using | ConstPtr = shared_ptr< const CloudSurfaceProcessing< PointInT, PointOutT > > |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные функции-члены | |
| BilateralUpsampling () | |
| Конструктор. Подробнее... |
|
| void | setWindowSize (int window_size) |
| Метод задаёт размер окна фильтра. Подробнее... |
|
| int | getWindowSize () const |
| Возвращает размер окна фильтра. Подробнее... |
|
| void | setSigmaColor (const float &sigma_color) |
| Метод задаёт параметр сигмы цвета. Подробнее... |
|
| float | getSigmaColor () const |
| Возвращает текущее значение сигмы цвета. Подробнее... |
|
| void | setSigmaDepth (const float &sigma_depth) |
| Метод задаёт параметр сигмы глубины. Подробнее... |
|
| float | getSigmaDepth () const |
| Возвращает текущее значение сигмы глубины. Подробнее... |
|
| void | setProjectionMatrix (const Eigen::Matrix3f &projection_matrix) |
| Метод задаёт матрицу проекции, используемую для обратного проектирования точек изображения глубины в координаты (x,y,z). Подробнее... |
|
| Eigen::Matrix3f | getProjectionMatrix () const |
| Возвращает текущую матрицу проекции. Подробнее... |
|
| void | process (pcl::PointCloud< PointOutT > &output) override |
| Метод выполняет фактическую обработку входного облака. Подробнее... |
|
|
| |
| CloudSurfaceProcessing () | |
| Конструктор. Подробнее... |
|
| ~CloudSurfaceProcessing () override=default | |
| Пустой деструктор. Подробнее... |
|
|
| |
| 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 operator[] для сокращения кода. Подробнее... |
|
Общедоступные атрибуты | |
| Eigen::Matrix3f | KinectVGAProjectionMatrix |
| Eigen::Matrix3f | KinectSXGAProjectionMatrix |
Защищённые функции-члены | |
| void | performProcessing (pcl::PointCloud< PointOutT > &output) override |
| Абстрактный метод обработки облака. Подробнее... |
|
| void | computeDistances (Eigen::MatrixXf &val_exp_depth, Eigen::VectorXf &val_exp_rgb) |
| Вычисляет расстояния для глубины и RGB. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| PointCloudConstPtr | input_ |
| Входной набор точек облака. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Подробное описание
template<typename PointInT, typename PointOutT>
class pcl::BilateralUpsampling< PointInT, PointOutT >
Реализация двусторонней фильтрации, основанная на следующей статье:
- Копф, Йоханнес, Коэн, Майкл Ф., Лишинский, Дани и Уйттендале, Мэтт — Совместная двусторонняя передискретизация,
- ACM Transactions in Graphics, июль 2007 г.
Принимает организованное цветное облако точек (например, PointXYZRGB или PointXYZRGBA), которое может содержать значения nan для глубины, и возвращает передискретизированную версию этого облака на основе формулы:
где S — изображение глубины, I — изображение RGB, а f и g — гауссовы функции с центром в 0 и стандартными отклонениями и
Определение находится в строке 63 файла bilateral_upsampling.h.
Описание псевдонимов типов-членов
ConstPtr
| using pcl::BilateralUpsampling< PointInT, PointOutT >::ConstPtr = shared_ptr<const BilateralUpsampling<PointInT, PointOutT> > |
Определение находится в строке 67 файла bilateral_upsampling.h.
PointCloudOut
| using pcl::BilateralUpsampling< PointInT, PointOutT >::PointCloudOut = pcl::PointCloud<PointOutT> |
Определение находится в строке 75 файла bilateral_upsampling.h.
Ptr
| using pcl::BilateralUpsampling< PointInT, PointOutT >::Ptr = shared_ptr<BilateralUpsampling<PointInT, PointOutT> > |
Определение находится в строке 66 файла bilateral_upsampling.h.
Описание конструкторов и деструкторов
BilateralUpsampling()
| inline |
Конструктор.
Определение находится в строке 80 файла bilateral_upsampling.h.
Ссылки: pcl::BilateralUpsampling< PointInT, PointOutT >::KinectSXGAProjectionMatrix и pcl::BilateralUpsampling< PointInT, PointOutT >::KinectVGAProjectionMatrix.
Описание методов-членов
computeDistances()
| protected |
Вычисляет расстояния для глубины и RGB.
- Параметры
-
[out] val_exp_depth значения расстояний для глубины [out] val_exp_rgb значения расстояний для RGB
Определение находится в строке 156 файла bilateral_upsampling.hpp.
getProjectionMatrix()
| inline |
Возвращает текущую матрицу проекции.
Определение находится в строке 130 файла bilateral_upsampling.h.
getSigmaColor()
| inline |
Возвращает текущее значение сигмы цвета.
Определение находится в строке 108 файла bilateral_upsampling.h.
getSigmaDepth()
| inline |
Возвращает текущее значение сигмы глубины.
Определение находится в строке 118 файла bilateral_upsampling.h.
getWindowSize()
| inline |
Возвращает размер окна фильтра.
Определение находится в строке 98 файла bilateral_upsampling.h.
performProcessing()
| overrideprotectedvirtual |
Абстрактный метод обработки облака.
Реализует pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение находится в строке 88 файла bilateral_upsampling.hpp.
Ссылки: pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::resize() и pcl::PointCloud< PointT >::width.
process()
| overridevirtual |
Метод, выполняющий фактическую обработку входного облака.
- Параметры
-
[out] output контейнер для результирующего облака с повышенным разрешением
Переопределяет метод из pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение находится в строке 50 файла bilateral_upsampling.hpp.
Ссылки: pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height и pcl::PointCloud< PointT >::width.
setProjectionMatrix()
| inline |
Метод, задающий матрицу проекции, используемую для обратного проецирования точек изображения глубины в координаты (x,y,z).
- Примечание
- В классе уже заданы две матрицы, используемые для двух доступных режимов Kinect. Они настроены так же, как матрицы в OpenNiGrabber
- Параметры
-
[in] projection_matrix новая матрица проекции, которую нужно задать
Определение находится в строке 126 файла bilateral_upsampling.h.
setSigmaColor()
| inline |
Метод, задающий параметр сигмы цвета.
- Параметры
-
[in] sigma_color новое задаваемое значение
Определение находится в строке 104 файла bilateral_upsampling.h.
setSigmaDepth()
| inline |
Метод, задающий параметр сигмы глубины.
- Параметры
-
[in] sigma_depth новое задаваемое значение
Определение находится в строке 114 файла bilateral_upsampling.h.
setWindowSize()
| inline |
Метод, задающий размер окна фильтра.
- Параметры
-
[in] window_size заданный размер окна
Определение находится в строке 94 файла bilateral_upsampling.h.
Описание данных-членов
KinectSXGAProjectionMatrix
| Eigen::Matrix3f pcl::BilateralUpsampling< PointInT, PointOutT >::KinectSXGAProjectionMatrix |
Определение находится в строке 77 файла bilateral_upsampling.h.
Используется в pcl::BilateralUpsampling< PointInT, PointOutT >::BilateralUpsampling().
KinectVGAProjectionMatrix
| Eigen::Matrix3f pcl::BilateralUpsampling< PointInT, PointOutT >::KinectVGAProjectionMatrix |
Определение находится в строке 77 файла bilateral_upsampling.h.
Используется в pcl::BilateralUpsampling< PointInT, PointOutT >::BilateralUpsampling().
Документация этого класса создана на основе следующих файлов:
- pcl/surface/bilateral_upsampling.h
- pcl/surface/impl/bilateral_upsampling.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_bilateral_upsampling.html