Spec-Zone.ru › PointCloudLibrary

FrustumCulling фильтрует точки, находящиеся внутри усечённого конуса, заданного положением и полем зрения камеры. Подробнее...

#include <pcl/filters/frustum_culling.h>

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

Публичные типы

using Ptr = shared_ptr< FrustumCulling< PointT > >
using ConstPtr = shared_ptr< const FrustumCulling< PointT > >
- Публичные типы, унаследованные от pcl::FilterIndices< PointT >
using PointCloud = pcl::PointCloud< PointT >
using Ptr = shared_ptr< FilterIndices< PointT > >
using ConstPtr = shared_ptr< const FilterIndices< PointT > >
- Публичные типы, унаследованные от pcl::Filter< 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
- Публичные типы, унаследованные от pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Публичные члены-функции

FrustumCulling (bool extract_removed_indices=false)
void setCameraPose (const Eigen::Matrix4f &camera_pose)
Установить положение камеры относительно начала координат. Подробнее...
Eigen::Matrix4f getCameraPose () const
Получить положение камеры относительно начала координат. Подробнее...
void setHorizontalFOV (float hfov)
Установить горизонтальное поле обзора камеры в градусах. Подробнее...
void setHorizontalFOV (float fov_left_bound, float fov_right_bound)
Установить горизонтальное поле обзора камеры в градусах. Подробнее...
float getHorizontalFOV () const
Получить горизонтальное поле обзора камеры в градусах. Подробнее...
void getHorizontalFOV (float &fov_left_bound, float &fov_right_bound) const
Получить горизонтальное поле обзора камеры в градусах. Подробнее...
void setVerticalFOV (float vfov)
Установить вертикальное поле обзора камеры в градусах. Подробнее...
void setVerticalFOV (float fov_lower_bound, float fov_upper_bound)
Установить вертикальное поле обзора камеры в градусах. Подробнее...
float getVerticalFOV () const
Получить вертикальное поле обзора камеры в градусах. Подробнее...
void getVerticalFOV (float &fov_lower_bound, float &fov_upper_bound) const
Получить вертикальное поле обзора камеры в градусах. Подробнее...
void setNearPlaneDistance (float np_dist)
Установить расстояние до ближней плоскости. Подробнее...
float getNearPlaneDistance () const
Получить расстояние до ближней плоскости. Подробнее...
void setFarPlaneDistance (float fp_dist)
Установить расстояние до дальней плоскости. Подробнее...
float getFarPlaneDistance () const
Получить расстояние до дальней плоскости. Подробнее...
void setRegionOfInterest (float roi_x, float roi_y, float roi_w, float roi_h)
Установить область интереса (ROI) в нормализованных значениях. Подробнее...
void getRegionOfInterest (float &roi_x, float &roi_y, float &roi_w, float &roi_h) const
Получить область интереса (ROI) в нормализованных значениях. Подробнее...
- Публичные члены-функции, унаследованные от pcl::FilterIndices< PointT >
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)
Указать значение, которое должны получить отфильтрованные точки вместо их удаления. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::Filter< PointT >
Filter (bool extract_removed_indices=false)
Пустой конструктор. Подробнее...
IndicesConstPtr const getRemovedIndices () const
Получить индексы удаляемых точек. Подробнее...
void getRemovedIndices (PointIndices &pi)
Получить индексы удаляемых точек. Подробнее...
void filter (PointCloud &output)
Вызывает метод фильтрации и возвращает отфильтрованный набор данных в output. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::PCLBase< PointT >
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 для сокращения кода. Подробнее...

Защищенные члены

void applyFilter (Indices &indices) override
Образец индексов точек. Подробнее...
- Защищенные члены, унаследованные от pcl::FilterIndices< PointT >
void applyFilter (PointCloud &output) override
Абстрактный метод фильтрации для облака точек. Подробнее...
- Защищенные члены, унаследованные от pcl::Filter< PointT >
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
- Защищенные члены, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод должен вызываться перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактических вычислений. Подробнее...

Дополнительные унаследованные члены

- Защищенные атрибуты, унаследованные от pcl::FilterIndices< PointT >
bool negative_
False = нормальное поведение фильтра (по умолчанию), true = инвертированное поведение. Подробнее...
bool keep_organized_
False = удаление точек (по умолчанию), true = переопределение точек, сохранение структуры. Подробнее...
float user_filter_value_
Указанное пользователем значение, к которому должны быть установлены отфильтрованные размеры точки (по умолчанию = NaN). Подробнее...
- Защищенные атрибуты, унаследованные от pcl::Filter< PointT >
IndicesPtr removed_indices_
Индексы точек, которые были удалены. Подробнее...
std::string filter_name_
Имя фильтра. Подробнее...
bool extract_removed_indices_
Установите в значение true, если требуется вернуть индексы удаленных точек. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Набор входных данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Установите в значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создается набор фиктивных индексов, имитирующих входное PointCloud. Подробнее...

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

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

FrustumCulling фильтрует точки внутри усеченной пирамиды, заданной позой и полем зрения камеры.

Пример кода:

pcl::PointCloud <pcl::PointXYZ>::Ptr source; 
// .. read or fill the source cloud
 
pcl::FrustumCulling<pcl::PointXYZ> fc;
fc.setInputCloud (source);
fc.setVerticalFOV (45);
fc.setHorizontalFOV (60);
fc.setNearPlaneDistance (5.0);
fc.setFarPlaneDistance (15);
 
Eigen::Matrix4f camera_pose;
// .. read or input the camera pose from a registration algorithm.
fc.setCameraPose (camera_pose);
 
pcl::PointCloud <pcl::PointXYZ> target;
fc.filter (target);
pcl::FilterIndices::filtervoid filter(Indices &indices)Calls the filtering method and returns the filtered point cloud indices.Definition: filter_indices.h:101
pcl::FilterIndices::filter
void filter(Indices &indices)
Calls the filtering method and returns the filtered point cloud indices.
Definition: filter_indices.h:101
pcl::FrustumCullingFrustumCulling filters points inside a frustum given by pose and field of view of the camera.Definition: frustum_culling.h:77
pcl::FrustumCulling
FrustumCulling filters points inside a frustum given by pose and field of view of the camera.
Definition: frustum_culling.h:77
pcl::FrustumCulling::setNearPlaneDistancevoid setNearPlaneDistance(float np_dist)Set the near plane distance.Definition: frustum_culling.h:262
pcl::FrustumCulling::setNearPlaneDistance
void setNearPlaneDistance(float np_dist)
Set the near plane distance.
Definition: frustum_culling.h:262
pcl::FrustumCulling::setVerticalFOVvoid setVerticalFOV(float vfov)Set the vertical field of view for the camera in degrees.Definition: frustum_culling.h:203
pcl::FrustumCulling::setVerticalFOV
void setVerticalFOV(float vfov)
Set the vertical field of view for the camera in degrees.
Definition: frustum_culling.h:203
pcl::FrustumCulling::setFarPlaneDistancevoid setFarPlaneDistance(float fp_dist)Set the far plane distance.Definition: frustum_culling.h:284
pcl::FrustumCulling::setFarPlaneDistance
void setFarPlaneDistance(float fp_dist)
Set the far plane distance.
Definition: frustum_culling.h:284
pcl::FrustumCulling::setHorizontalFOVvoid setHorizontalFOV(float hfov)Set the horizontal field of view for the camera in degrees.Definition: frustum_culling.h:143
pcl::FrustumCulling::setHorizontalFOV
void setHorizontalFOV(float hfov)
Set the horizontal field of view for the camera in degrees.
Definition: frustum_culling.h:143
pcl::FrustumCulling::setCameraPosevoid setCameraPose(const Eigen::Matrix4f &camera_pose)Set the pose of the camera w.r.t the origin.Definition: frustum_culling.h:126
pcl::FrustumCulling::setCameraPose
void setCameraPose(const Eigen::Matrix4f &camera_pose)
Set the pose of the camera w.r.t the origin.
Definition: frustum_culling.h:126
pcl::PCLBase::setInputCloudvirtual void setInputCloud(const PointCloudConstPtr &cloud)Provide a pointer to the input dataset.Definition: pcl_base.hpp:65
pcl::PCLBase::setInputCloud
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
Definition: pcl_base.hpp:65
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud::Ptrshared_ptr< PointCloud< PointT > > PtrDefinition: point_cloud.h:413
pcl::PointCloud::Ptr
shared_ptr< PointCloud< PointT > > Ptr
Definition: point_cloud.h:413
Автор
Aravindhan K Krishnan

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

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

ConstPtr

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

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

Ptr

шаблон<typename PointT >
используя pcl::FrustumCulling< PointT >::Ptr = shared_ptr<FrustumCulling<PointT> >

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

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

FrustumCulling()

template<typename PointT >
pcl::FrustumCulling< PointT >::FrustumCulling ( bool extract_removed_indices = false )
inline

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

Ссылки на pcl::Filter< PointT >::filter_name_.

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

applyFilter()

template<typename PointT >
void pcl::FrustumCulling< PointT >::applyFilter ( Indices & indices )
overrideprotectedvirtual

Образец индексов точек.

Параметры
[out] indices результирующие индексы облака точек

Реализует pcl::FilterIndices< PointT >.

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

Ссылки на M_PI.

getCameraPose()

template<typename PointT >
Eigen::Matrix4f pcl::FrustumCulling< PointT >::getCameraPose ( ) const
inline

Получить положение камеры относительно начала координат.

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

getFarPlaneDistance()

template<typename PointT >
float pcl::FrustumCulling< PointT >::getFarPlaneDistance ( ) const
inline

Получить расстояние до дальней плоскости.

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

getHorizontalFOV() [1/2]

template<typename PointT >
float pcl::FrustumCulling< PointT >::getHorizontalFOV ( ) const
inline

Получить горизонтальное поле зрения камеры в градусах.

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

getHorizontalFOV() [2/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::getHorizontalFOV ( float & fov_left_bound,
float & fov_right_bound
) const
inline

Получить горизонтальное поле зрения камеры в градусах.

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

getNearPlaneDistance()

template<typename PointT >
float pcl::FrustumCulling< PointT >::getNearPlaneDistance ( ) const
inline

Получить расстояние до ближней плоскости.

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

getRegionOfInterest()

template<typename PointT >
void pcl::FrustumCulling< PointT >::getRegionOfInterest ( float & roi_x,
float & roi_y,
float & roi_w,
float & roi_h
) const
inline

Получить область интереса (ROI) в нормализованных значениях.

Параметры
[in] roi_x Центральное положение ROI по оси X
[in] roi_y Центральное положение ROI по оси Y
[in] roi_w Ширина ROI
[in] roi_h Высота ROI

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

getVerticalFOV() [1/2]

template<typename PointT >
float pcl::FrustumCulling< PointT >::getVerticalFOV ( ) const
inline

Получить вертикальное поле зрения камеры в градусах.

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

getVerticalFOV() [2/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::getVerticalFOV ( float & fov_lower_bound,
float & fov_upper_bound
) const
inline

Получить вертикальное поле обзора камеры в градусах.

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

setCameraPose()

template<typename PointT >
void pcl::FrustumCulling< PointT >::setCameraPose ( const Eigen::Matrix4f & camera_pose )
inline

Установить положение камеры относительно начала координат.

Параметры
[in] camera_pose положение камеры

Примечание: предполагается система координат, где X — направление вперёд, Y — вверх, а Z — вправо. Для перехода от традиционной системы координат камеры (X вправо, Y вниз, Z вперёд) можно использовать:

Eigen::Matrix4f pose_orig = //pose in camera coordinates
Eigen::Matrix4f cam2robot;
cam2robot << 0, 0, 1, 0
 0,-1, 0, 0
 1, 0, 0, 0
 0, 0, 0, 1;
Eigen::Matrix4f pose_new = pose_orig * cam2robot;
fc.setCameraPose (pose_new);

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

setFarPlaneDistance()

template<typename PointT >
void pcl::FrustumCulling< PointT >::setFarPlaneDistance ( float fp_dist )
inline

Установить расстояние до дальней плоскости.

Параметры
[in] fp_dist расстояние до дальней плоскости. Можно установить значение std::numeric_limits<float>::max(), тогда точки не будут отфильтрованы по дальней плоскости.

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

setHorizontalFOV() [1/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::setHorizontalFOV ( float fov_left_bound,
float fov_right_bound
)
inline

Установить горизонтальное поле обзора камеры в градусах.

Параметры
[in] fov_left_bound левая граница горизонтального поля обзора
[in] fov_right_bound правая граница горизонтального поля обзора. Значения могут быть положительными или отрицательными. Отрицательное значение означает, что камера смотрит влево, а положительное — вправо. В общем случае fov_left_bound следует устанавливать отрицательным значением, если оно установлено положительным, камера будет смотреть только вправо. Также обратите внимание, что setHorizontalFOV(-30.0, 30.0) эквивалентно setHorizontalFOV(60.0).

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

setHorizontalFOV() [2/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::setHorizontalFOV ( float hfov )
inline

Установить горизонтальное поле обзора камеры в градусах.

Параметры
[in] hfov поле обзора. Примечание: setHorizontalFOV(60.0) эквивалентно setHorizontalFOV(-30.0, 30.0).

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

setNearPlaneDistance()

template<typename PointT >
void pcl::FrustumCulling< PointT >::setNearPlaneDistance ( float np_dist )
inline

Установить расстояние до ближней плоскости.

Параметры
[in] np_dist расстояние до ближней плоскости. Можно установить значение 0 для отключения фильтрации по ближней плоскости и извлечения прямоугольной пирамиды вместо усечённого конуса.

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

setRegionOfInterest()

template<typename PointT >
void pcl::FrustumCulling< PointT >::setRegionOfInterest ( float roi_x,
float roi_y,
float roi_w,
float roi_h
)
inline

Установить область интереса (ROI) в нормированных значениях.

Значение по умолчанию для ROI: roi_{x, y} = 0.5, roi_{w, h} = 1.0 Это соответствует максимальному полю обзора и возвращает все точки в усечённом конусе. Может использоваться для выделения объектов на основе 2D границ, определяемых, например, методом обнаружения объектов.

Параметры
[in] roi_x координата X центра ROI
[in] roi_y координата Y центра ROI
[in] roi_w ширина ROI
[in] roi_h высота ROI

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

setVerticalFOV() [1/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::setVerticalFOV ( float fov_lower_bound,
float fov_upper_bound
)
inline

Установить вертикальное поле зрения камеры в градусах.

Параметры
[in] fov_lower_bound нижняя граница вертикального поля зрения
[in] fov_upper_bound верхняя граница вертикального поля зрения Примечание: Границы могут быть положительными или отрицательными значениями. Отрицательное значение означает, что камера смотрит вниз, а положительное — вверх. В общих случаях fov_lower_bound следует устанавливать как отрицательное значение, если оно установлено как положительное, камера будет смотреть только вверх. Также обратите внимание, что setVerticalFOV(-30.0, 30.0) эквивалентно setVerticalFOV(60.0).

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

setVerticalFOV() [2/2]

template<typename PointT >
void pcl::FrustumCulling< PointT >::setVerticalFOV ( float vfov )
inline

Установить вертикальное поле зрения камеры в градусах.

Параметры
[in] vfov поле зрения Примечание: setVerticalFOV(60.0) эквивалентно setVerticalFOV(-30.0, 30.0).

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


Документация для этого класса была сгенерирована из следующих файлов:
  • pcl/filters/frustum_culling.h
  • pcl/filters/impl/frustum_culling.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_frustum_culling.html

Spec-Zone.ru

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