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}
False = обычное поведение фильтра (по умолчанию), true = инвертированное поведение. Подробнее...
bool keep_organized_ {false}
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. Подробнее...

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

template<typename PointT>
class 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:100
pcl::FilterIndices::filter
void filter(Indices &indices)
Calls the filtering method and returns the filtered point cloud indices.
Definition: filter_indices.h:100
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:252
pcl::FrustumCulling::setNearPlaneDistance
void setNearPlaneDistance(float np_dist)
Set the near plane distance.
Definition: frustum_culling.h:252
pcl::FrustumCulling::setVerticalFOVvoid setVerticalFOV(float vfov)Set the vertical field of view for the camera in degrees.Definition: frustum_culling.h:193
pcl::FrustumCulling::setVerticalFOV
void setVerticalFOV(float vfov)
Set the vertical field of view for the camera in degrees.
Definition: frustum_culling.h:193
pcl::FrustumCulling::setFarPlaneDistancevoid setFarPlaneDistance(float fp_dist)Set the far plane distance.Definition: frustum_culling.h:274
pcl::FrustumCulling::setFarPlaneDistance
void setFarPlaneDistance(float fp_dist)
Set the far plane distance.
Definition: frustum_culling.h:274
pcl::FrustumCulling::setHorizontalFOVvoid setHorizontalFOV(float hfov)Set the horizontal field of view for the camera in degrees.Definition: frustum_culling.h:133
pcl::FrustumCulling::setHorizontalFOV
void setHorizontalFOV(float hfov)
Set the horizontal field of view for the camera in degrees.
Definition: frustum_culling.h:133
pcl::FrustumCulling::setCameraPosevoid setCameraPose(const Eigen::Matrix4f &camera_pose)Set the pose of the camera w.r.t the origin.Definition: frustum_culling.h:116
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:116
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.

Описание псевдонимов типов-членов

ConstPtr

template<typename PointT >
using pcl::FrustumCulling< PointT >::ConstPtr = shared_ptr<const FrustumCulling<PointT> >

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

Ptr

template<typename PointT >
using 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

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

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

getFarPlaneDistance()

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

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

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

getHorizontalFOV() [1/2]

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

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

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

getHorizontalFOV() [2/2]

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

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

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

getNearPlaneDistance()

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

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

Определение в строке 264 файла 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 Координата X центра ROI
[in] roi_y Координата Y центра ROI
[in] roi_w Ширина ROI
[in] roi_h Высота ROI

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

getVerticalFOV() [1/2]

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

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

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

getVerticalFOV() [2/2]

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

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

Определение в строке 242 файла 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);

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

setFarPlaneDistance()

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

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

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

Определение в строке 274 файла 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).

Определение в строке 155 файла 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).

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

setNearPlaneDistance()

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

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

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

Определение в строке 252 файла 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 положение центра ROI по оси X
[in] roi_y положение центра ROI по оси Y
[in] roi_w ширина ROI
[in] roi_h высота ROI

Определение в строке 303 файла 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).

Определение в строке 215 файла 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).

Определение в строке 193 файла 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