Spec-Zone.ru › PointCloudLibrary

RangeImage происходит от pcl/PointCloud и предоставляет функциональность, ориентированную на ситуации, когда 3D сцена была захвачена с определенной точки зрения. Подробнее...

#include <pcl/range_image/range_image.h>

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

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

перечисление CoordinateFrame { CAMERA_FRAME = 0 , LASER_FRAME = 1 }
используя BaseClass = pcl::PointCloud< PointWithRange >
используя VectorOfEigenVector3f = std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > >
используя Ptr = shared_ptr< RangeImage >
используя ConstPtr = shared_ptr< const RangeImage >
- Публичные типы, унаследованные от pcl::PointCloud< PointWithRange >
используя PointType = PointWithRange
используя VectorType = std::vector< PointWithRange, Eigen::aligned_allocator< PointWithRange > >
используя CloudVectorType = std::vector< PointCloud< PointWithRange >, Eigen::aligned_allocator< PointCloud< PointWithRange > > >
используя Ptr = shared_ptr< PointCloud< PointWithRange > >
используя ConstPtr = shared_ptr< const PointCloud< PointWithRange > >
используя value_type = PointWithRange
используя reference = PointWithRange &
используя const_reference = const PointWithRange &
используя difference_type = typename VectorType::difference_type
используя size_type = typename VectorType::size_type
используя iterator = typename VectorType::iterator
используя const_iterator = typename VectorType::const_iterator
используя reverse_iterator = typename VectorType::reverse_iterator
используя const_reverse_iterator = typename VectorType::const_reverse_iterator

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

PCL_EXPORTS RangeImage ()
Конструктор. More...
virtual PCL_EXPORTS ~RangeImage ()=default
Деструктор. More...
Ptr makeShared ()
Получить указатель boost shared на копию этого. More...
PCL_EXPORTS void reset ()
Сбросить все значения к пустому изображению диапазона. More...
template<typename PointCloudType >
void createFromPointCloud (const PointCloudType &point_cloud, float angular_resolution=pcl::deg2rad(0.5f), float max_angle_width=pcl::deg2rad(360.0f), float max_angle_height=pcl::deg2rad(180.0f), const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек. More...
template<typename PointCloudType >
void createFromPointCloud (const PointCloudType &point_cloud, float angular_resolution_x=pcl::deg2rad(0.5f), float angular_resolution_y=pcl::deg2rad(0.5f), float max_angle_width=pcl::deg2rad(360.0f), float max_angle_height=pcl::deg2rad(180.0f), const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек. More...
template<typename PointCloudType >
void createFromPointCloudWithKnownSize (const PointCloudType &point_cloud, float angular_resolution, const Eigen::Vector3f &point_cloud_center, float point_cloud_radius, const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчёта. More...
template<typename PointCloudType >
void createFromPointCloudWithKnownSize (const PointCloudType &point_cloud, float angular_resolution_x, float angular_resolution_y, const Eigen::Vector3f &point_cloud_center, float point_cloud_radius, const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчёта. More...
template<typename PointCloudTypeWithViewpoints >
void createFromPointCloudWithViewpoints (const PointCloudTypeWithViewpoints &point_cloud, float angular_resolution, float max_angle_width, float max_angle_height, CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек, используя среднюю точку обзора точек (vp_x,vp_y,vp_z в типе точки) в облаке точек в качестве позы датчика (предполагая вращение (0,0,0)). More...
template<typename PointCloudTypeWithViewpoints >
void createFromPointCloudWithViewpoints (const PointCloudTypeWithViewpoints &point_cloud, float angular_resolution_x, float angular_resolution_y, float max_angle_width, float max_angle_height, CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f, int border_size=0)
Создать изображение глубины из облака точек, используя среднюю точку обзора точек (vp_x,vp_y,vp_z в типе точки) в облаке точек в качестве позы датчика (предполагая вращение (0,0,0)). More...
void createEmpty (float angular_resolution, const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), RangeImage::CoordinateFrame coordinate_frame=CAMERA_FRAME, float angle_width=pcl::deg2rad(360.0f), float angle_height=pcl::deg2rad(180.0f))
Создать пустое изображение глубины (заполненное ненаблюдаемыми точками) More...
void createEmpty (float angular_resolution_x, float angular_resolution_y, const Eigen::Affine3f &sensor_pose=Eigen::Affine3f::Identity(), RangeImage::CoordinateFrame coordinate_frame=CAMERA_FRAME, float angle_width=pcl::deg2rad(360.0f), float angle_height=pcl::deg2rad(180.0f))
Создать пустое изображение глубины (заполненное ненаблюдаемыми точками) More...
template<typename PointCloudType >
void doZBuffer (const PointCloudType &point_cloud, float noise_level, float min_range, int &top, int &right, int &bottom, int &left)
Интегрировать данное облако точек в текущее изображение диапазона с использованием z-буфера. More...
template<typename PointCloudType >
void integrateFarRanges (const PointCloudType &far_ranges)
Интегрирует заданные измерения дальнего диапазона в изображение диапазона. More...
PCL_EXPORTS void cropImage (int border_size=0, int top=-1, int right=-1, int bottom=-1, int left=-1)
Обрезать изображение диапазона до минимального размера, чтобы оно по-прежнему содержало все фактические показания диапазона. More...
PCL_EXPORTS float * getRangesArray () const
Получить все значения диапазона в одном массиве float размером width*height. More...
const Eigen::Affine3f & getTransformationToRangeImageSystem () const
Получение преобразования из мировой системы в систему изображения диапазона (система координат датчика) More...
void setTransformationToRangeImageSystem (const Eigen::Affine3f &to_range_image_system)
Установка преобразования из системы изображения диапазона (система координат датчика) в мировую систему. More...
const Eigen::Affine3f & getTransformationToWorldSystem () const
Получение преобразования из системы изображения диапазона (система координат датчика) в мировую систему. More...
float getAngularResolution () const
Получение углового разрешения изображения диапазона в направлении x в радианах на пиксель. More...
float getAngularResolutionX () const
Получение углового разрешения изображения диапазона в направлении x в радианах на пиксель. More...
float getAngularResolutionY () const
Получение углового разрешения изображения диапазона в направлении y в радианах на пиксель. More...
void getAngularResolution (float &angular_resolution_x, float &angular_resolution_y) const
Получение углового разрешения изображения диапазона в направлениях x и y (в радианах). More...
void setAngularResolution (float angular_resolution)
Установить угловое разрешение изображения диапазона. More...
void setAngularResolution (float angular_resolution_x, float angular_resolution_y)
Установить угловое разрешение изображения диапазона. More...
const PointWithRange & getPoint (int image_x, int image_y) const
Возвращает 3D-точку с дальностью в заданной позиции изображения. Подробнее...
PointWithRange & getPoint (int image_x, int image_y)
Не-константная версия getPoint. Подробнее...
const PointWithRange & getPoint (float image_x, float image_y) const
Возвращает 3D-точку с дальностью в заданной позиции изображения. Подробнее...
PointWithRange & getPoint (float image_x, float image_y)
Не-константная версия вышеописанной функции. Подробнее...
const PointWithRange & getPointNoCheck (int image_x, int image_y) const
Возвращает 3D-точку с дальностью в заданной позиции изображения. Подробнее...
PointWithRange & getPointNoCheck (int image_x, int image_y)
Не-константная версия getPointNoCheck. Подробнее...
void getPoint (int image_x, int image_y, Eigen::Vector3f &point) const
То же, что и выше. Подробнее...
void getPoint (int index, Eigen::Vector3f &point) const
То же, что и выше. Подробнее...
const Eigen::Map< const Eigen::Vector3f > getEigenVector3f (int x, int y) const
То же, что и выше. Подробнее...
const Eigen::Map< const Eigen::Vector3f > getEigenVector3f (int index) const
То же, что и выше. Подробнее...
const PointWithRange & getPoint (int index) const
Возвращает 3D-точку с дальностью по заданному индексу (где index=y*width+x) Подробнее...
void calculate3DPoint (float image_x, float image_y, float range, PointWithRange &point) const
Вычисляет 3D-точку в соответствии с заданной точкой изображения и дальностью. Подробнее...
void calculate3DPoint (float image_x, float image_y, PointWithRange &point) const
Вычисляет 3D-точку в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе. Подробнее...
virtual void calculate3DPoint (float image_x, float image_y, float range, Eigen::Vector3f &point) const
Вычисляет 3D-точку в соответствии с заданной точкой изображения и дальностью. Подробнее...
void calculate3DPoint (float image_x, float image_y, Eigen::Vector3f &point) const
Вычисляет 3D-точку в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе. Подробнее...
PCL_EXPORTS void recalculate3DPointPositions ()
Пересчитывает все 3D-позиции точек в соответствии с их позицией пикселя и дальностью. Подробнее...
virtual void getImagePoint (const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
Получить imagePoint из 3D-точки в мировых координатах. Подробнее...
void getImagePoint (const Eigen::Vector3f &point, int &image_x, int &image_y, float &range) const
То же, что и выше. Подробнее...
void getImagePoint (const Eigen::Vector3f &point, float &image_x, float &image_y) const
То же, что и выше. Подробнее...
void getImagePoint (const Eigen::Vector3f &point, int &image_x, int &image_y) const
То же, что и выше. Подробнее...
void getImagePoint (float x, float y, float z, float &image_x, float &image_y, float &range) const
То же, что и выше. Подробнее...
void getImagePoint (float x, float y, float z, float &image_x, float &image_y) const
То же, что и выше. Подробнее...
void getImagePoint (float x, float y, float z, int &image_x, int &image_y) const
То же, что и выше. Подробнее...
float checkPoint (const Eigen::Vector3f &point, PointWithRange &point_in_image) const
point_in_image будет точкой на изображении в позиции, где находилась бы заданная точка. Подробнее...
float getRangeDifference (const Eigen::Vector3f &point) const
Возвращает разницу в дальности между заданной точкой и дальностью точки на изображении в позиции, где находилась бы заданная точка. Подробнее...
void getImagePointFromAngles (float angle_x, float angle_y, float &image_x, float &image_y) const
Получить точку изображения, соответствующую заданным углам. Подробнее...
void getAnglesFromImagePoint (float image_x, float image_y, float &angle_x, float &angle_y) const
Получить углы, соответствующие заданной точке изображения. Подробнее...
void real2DToInt2D (float x, float y, int &xInt, int &yInt) const
Преобразует точку изображения в значения с плавающей запятой в точку изображения в целочисленных значениях. Подробнее...
bool isInImage (int x, int y) const
Проверить, находится ли точка внутри изображения. Подробнее...
bool isValid (int x, int y) const
Проверить, находится ли точка внутри изображения и имеет ли конечную дальность. Подробнее...
bool isValid (int index) const
Проверить, имеет ли точка конечную дальность. Подробнее...
bool isObserved (int x, int y) const
Проверить, находится ли точка внутри изображения и имеет ли конечную дальность или максимальное значение (range=INFINITY) Подробнее...
bool isMaxRange (int x, int y) const
Проверить, является ли точка максимальной дальностью (range=INFINITY) - пожалуйста, сначала проверьте isInImage или isObserved! Подробнее...
bool getNormal (int x, int y, int radius, Eigen::Vector3f &normal, int step_size=1) const
Вычислить нормаль точки изображения, используя соседей с максимальным расстоянием пикселя radius. Подробнее...
bool getNormalForClosestNeighbors (int x, int y, int radius, const PointWithRange &point, int no_of_nearest_neighbors, Eigen::Vector3f &normal, int step_size=1) const
То же, что и выше, но только ближайшие no_of_nearest_neighbors точки к заданной точке рассматриваются. Подробнее...
bool getNormalForClosestNeighbors (int x, int y, int radius, const Eigen::Vector3f &point, int no_of_nearest_neighbors, Eigen::Vector3f &normal, Eigen::Vector3f *point_on_plane=nullptr, int step_size=1) const
То же самое, что и выше. More...
bool getNormalForClosestNeighbors (int x, int y, Eigen::Vector3f &normal, int radius=2) const
То же самое, что и выше, используя значения по умолчанию. More...
bool getSurfaceInformation (int x, int y, int radius, const Eigen::Vector3f &point, int no_of_closest_neighbors, int step_size, float &max_closest_neighbor_distance_squared, Eigen::Vector3f &normal, Eigen::Vector3f &mean, Eigen::Vector3f &eigen_values, Eigen::Vector3f *normal_all_neighbors=nullptr, Eigen::Vector3f *mean_all_neighbors=nullptr, Eigen::Vector3f *eigen_values_all_neighbors=nullptr) const
То же самое, что и выше, но извлекает ещё больше данных и может также возвращать извлечённую информацию для всех соседей в радиусе, если normal_all_neighbors не равно NULL. More...
float getSquaredDistanceOfNthNeighbor (int x, int y, int radius, int n, int step_size) const
float getImpactAngle (const PointWithRange &point1, const PointWithRange &point2) const
Вычислить угол падения на основе положения датчика и двух заданных точек - вернёт -INFINITY, если одна из точек не наблюдается. More...
float getImpactAngle (int x1, int y1, int x2, int y2) const
То же самое, что и выше. More...
float getImpactAngleBasedOnLocalNormal (int x, int y, int radius) const
Извлечь локальную нормаль (с эвристикой, чтобы не включать фоновые точки) и вычислить угол падения на её основе. More...
PCL_EXPORTS float * getImpactAngleImageBasedOnLocalNormals (int radius) const
Использует вышеуказанную функцию для каждой точки в изображении. More...
float getNormalBasedAcutenessValue (int x, int y, int radius) const
Вычислить оценку [0,1], которая показывает, насколько острым является угол падения (1.0f - getImpactAngle/90deg). Это использует getImpactAngleBasedOnLocalNormal. Вернёт -INFINITY, если нормаль не может быть вычислена. More...
float getAcutenessValue (const PointWithRange &point1, const PointWithRange &point2) const
Вычислить оценку [0,1], которая показывает, насколько острым является угол падения (1.0f - getImpactAngle/90deg). Вернёт -INFINITY, если одна из точек не наблюдается. More...
float getAcutenessValue (int x1, int y1, int x2, int y2) const
То же самое, что и выше. More...
PCL_EXPORTS void getAcutenessValueImages (int pixel_distance, float *&acuteness_value_image_x, float *&acuteness_value_image_y) const
Вычислить getAcutenessValue для каждой точки. More...
PCL_EXPORTS float getSurfaceChange (int x, int y, int radius) const
Вычисляет, насколько сильно меняется поверхность в точке. More...
PCL_EXPORTS float * getSurfaceChangeImage (int radius) const
Использует вышеуказанную функцию для каждой точки в изображении. More...
void getSurfaceAngleChange (int x, int y, int radius, float &angle_change_x, float &angle_change_y) const
Вычисляет, насколько сильно меняется поверхность в точке. More...
PCL_EXPORTS void getSurfaceAngleChangeImages (int radius, float *&angle_change_image_x, float *&angle_change_image_y) const
Использует вышеуказанную функцию для каждой точки в изображении. More...
float getCurvature (int x, int y, int radius, int step_size) const
Вычисляет кривизну в точке с помощью метода главных компонент. Подробнее...
const Eigen::Vector3f getSensorPos () const
Получить позицию сенсора. Подробнее...
PCL_EXPORTS void setUnseenToMaxRange ()
Устанавливает все значения -INFINITY в INFINITY. Подробнее...
int getImageOffsetX () const
Геттер для image_offset_x_. Подробнее...
int getImageOffsetY () const
Геттер для image_offset_y_. Подробнее...
void setImageOffsets (int offset_x, int offset_y)
Сеттер для смещений изображения. Подробнее...
virtual void getSubImage (int sub_image_image_offset_x, int sub_image_image_offset_y, int sub_image_width, int sub_image_height, int combine_pixels, RangeImage &sub_image) const
Получить подчасть полного изображения как новое изображение диапазона. Подробнее...
virtual void getHalfImage (RangeImage &half_image) const
Получить изображение диапазона с половинным разрешением. Подробнее...
PCL_EXPORTS void getMinMaxRanges (float &min_range, float &max_range) const
Найти минимальный и максимальный диапазон в изображении. Подробнее...
PCL_EXPORTS void change3dPointsToLocalCoordinateFrame ()
Эта функция устанавливает позу сенсора в 0 и преобразует все положения точек в эту локальную систему координат. Подробнее...
PCL_EXPORTS float * getInterpolatedSurfaceProjection (const Eigen::Affine3f &pose, int pixel_size, float world_size) const
Вычислить участок диапазона как значения z системы координат, заданной pose. Подробнее...
PCL_EXPORTS float * getInterpolatedSurfaceProjection (const Eigen::Vector3f &point, int pixel_size, float world_size) const
То же самое, что и выше, но используется локальная система координат, определенная точкой и направлением просмотра. Подробнее...
Eigen::Affine3f getTransformationToViewerCoordinateFrame (const Eigen::Vector3f &point) const
Получить локальную систему координат с 0,0,0 в точке, вертикальную и Z как направление просмотра. Подробнее...
void getTransformationToViewerCoordinateFrame (const Eigen::Vector3f &point, Eigen::Affine3f &transformation) const
То же самое, что и выше, используя ссылку для возвращаемого значения. Подробнее...
void getRotationToViewerCoordinateFrame (const Eigen::Vector3f &point, Eigen::Affine3f &transformation) const
То же самое, что и выше, но возвращается только вращение. Подробнее...
PCL_EXPORTS bool getNormalBasedUprightTransformation (const Eigen::Vector3f &point, float max_dist, Eigen::Affine3f &transformation) const
Получить локальную систему координат в заданной точке на основе нормали. Подробнее...
PCL_EXPORTS void getIntegralImage (float *&integral_image, int *&valid_points_num_image) const
Получить целочисленное изображение значений диапазона (используется для быстрых операций размытия). Подробнее...
PCL_EXPORTS void getBlurredImageUsingIntegralImage (int blur_radius, float *integral_image, int *valid_points_num_image, RangeImage &range_image) const
Получить размытое изображение диапазона с использованием фильтров по прямоугольнику на предоставленном целочисленном изображении. Подробнее...
virtual PCL_EXPORTS void getBlurredImage (int blur_radius, RangeImage &range_image) const
Получить размытое изображение диапазона с использованием фильтров по прямоугольнику. Подробнее...
float getEuclideanDistanceSquared (int x1, int y1, int x2, int y2) const
Получить квадрат евклидова расстояния между двумя точками изображения. Подробнее...
float getAverageEuclideanDistance (int x, int y, int offset_x, int offset_y, int max_steps) const
Выполнение вышеперечисленного для некоторых шагов в заданном направлении и усреднение. Подробнее...
PCL_EXPORTS void getRangeImageWithSmoothedSurface (int radius, RangeImage &smoothed_range_image) const
Проецирование всех точек на локальное приближение плоскости, тем самым сглаживая поверхность сканирования. Подробнее...
void get1dPointAverage (int x, int y, int delta_x, int delta_y, int no_of_points, PointWithRange &average_point) const
Вычисление среднего 3D положения точек no_of_points, описанных начальной точкой x, y в направлении delta. Подробнее...
PCL_EXPORTS float getOverlap (const RangeImage &other_range_image, const Eigen::Affine3f &relative_transformation, int search_radius, float max_distance, int pixel_step=1) const
Вычисление перекрытия двух изображений диапазона с учетом относительного преобразования (от данного изображения до *this). Подробнее...
bool getViewingDirection (int x, int y, Eigen::Vector3f &viewing_direction) const
Получить направление взгляда для данной точки. Подробнее...
void getViewingDirection (const Eigen::Vector3f &point, Eigen::Vector3f &viewing_direction) const
Получить направление взгляда для данной точки. Подробнее...
virtual PCL_EXPORTS RangeImage * getNew () const
Возвращает только что созданное изображение диапазона. Подробнее...
virtual PCL_EXPORTS void copyTo (RangeImage &other) const
Скопировать other в *this. Подробнее...
- Публичные члены-функции, унаследованные от pcl::PointCloud< PointWithRange >
PointCloud ()=default
Конструктор по умолчанию. Подробнее...
PointCloud (const PointCloud< PointWithRange > &pc, const Indices &indices)
Конструктор копирования из подмножества облака точек. Подробнее...
PointCloud (std::uint32_t width_, std::uint32_t height_, const PointWithRange &value_=PointWithRange())
Конструктор выделения памяти из подмножества облака точек. Подробнее...
PointCloud & operator+= (const PointCloud &rhs)
Добавить облако точек к текущему облаку. Подробнее...
PointCloud operator+ (const PointCloud &rhs)
Добавить облако точек к другому облаку. Подробнее...
const PointWithRange & at (int column, int row) const
Получить точку по координатам (столбец, строка). Подробнее...
PointWithRange & at (int column, int row)
Получить точку по координатам (столбец, строка). Подробнее...
const PointWithRange & at (std::size_t n) const
PointWithRange & at (std::size_t n)
const PointWithRange & operator() (std::size_t column, std::size_t row) const
Получить точку по координатам (столбец, строка). Подробнее...
PointWithRange & operator() (std::size_t column, std::size_t row)
Получить точку по координатам (столбец, строка). Подробнее...
bool isOrganized () const
Возвращает, организован ли набор данных (например, упорядочен ли он в структурированной сетке). Подробнее...
Eigen::Map< Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > getMatrixXfMap (int dim, int stride, int offset)
Возвращает карту Eigen::MatrixXf (предполагается, что значения — float) для указанных размеров PointCloud. Подробнее...
const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > getMatrixXfMap (int dim, int stride, int offset) const
Возвращает карту Eigen::MatrixXf (предполагается, что значения — float) для указанных размеров PointCloud. Подробнее...
Eigen::Map< Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > getMatrixXfMap ()
const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > getMatrixXfMap () const
iterator begin () noexcept
const_iterator begin () const noexcept
iterator end () noexcept
const_iterator end () const noexcept
const_iterator cbegin () const noexcept
const_iterator cend () const noexcept
reverse_iterator rbegin () noexcept
const_reverse_iterator rbegin () const noexcept
reverse_iterator rend () noexcept
const_reverse_iterator rend () const noexcept
const_reverse_iterator crbegin () const noexcept
const_reverse_iterator crend () const noexcept
std::size_t size () const
index_t max_size () const noexcept
void reserve (std::size_t n)
bool empty () const
PointWithRange * data () noexcept
const PointWithRange * data () const noexcept
void resize (std::size_t count)
Изменяет размер контейнера для хранения count элементов. Подробнее...
void resize (uindex_t new_width, uindex_t new_height)
Изменяет размер контейнера для хранения new_width * new_height элементов. Подробнее...
void resize (index_t count, const PointWithRange &value)
Изменяет размер контейнера до указанного количества элементов. Подробнее...
void resize (index_t new_width, index_t new_height, const PointWithRange &value)
Изменяет размер контейнера до указанного количества элементов. Подробнее...
const PointWithRange & operator[] (std::size_t n) const
PointWithRange & operator[] (std::size_t n)
const PointWithRange & front () const
PointWithRange & front ()
const PointWithRange & back () const
PointWithRange & back ()
void assign (index_t count, const PointWithRange &value)
Заменяет точки на count копии value Подробнее...
void assign (index_t new_width, index_t new_height, const PointWithRange &value)
Заменяет точки на new_width * new_height копии value Подробнее...
void assign (InputIterator first, InputIterator last)
Заменяет точки копиями элементов из диапазона [first, last) Подробнее...
void assign (InputIterator first, InputIterator last, index_t new_width)
Заменяет точки копиями элементов из диапазона [first, last) Подробнее...
void assign (std::initializer_list< PointWithRange > ilist)
Заменяет точки элементами из списка инициализации ilist Подробнее...
void assign (std::initializer_list< PointWithRange > ilist, index_t new_width)
Заменяет точки элементами из списка инициализации ilist Подробнее...
void push_back (const PointWithRange &pt)
Вставляет новую точку в облако в конце контейнера. Подробнее...
void transient_push_back (const PointWithRange &pt)
Вставляет новую точку в облако в конце контейнера. Подробнее...
reference emplace_back (Args &&...args)
Вставляет новую точку в облако в конце контейнера. Подробнее...
reference transient_emplace_back (Args &&...args)
Вставляет новую точку в облако в конце контейнера. Подробнее...
iterator insert (iterator position, const PointWithRange &pt)
Вставляет новую точку в облако, задав итератор. Подробнее...
void insert (iterator position, std::size_t n, const PointWithRange &pt)
Вставить новую точку в облако N раз, используя итератор. Подробнее...
void insert (iterator position, InputIterator first, InputIterator last)
Вставить новый диапазон точек в облако в определённой позиции. Подробнее...
iterator transient_insert (iterator position, const PointWithRange &pt)
Вставить новую точку в облако, используя итератор. Подробнее...
void transient_insert (iterator position, std::size_t n, const PointWithRange &pt)
Вставить новую точку в облако N раз, используя итератор. Подробнее...
void transient_insert (iterator position, InputIterator first, InputIterator last)
Вставить новый диапазон точек в облако в определённой позиции. Подробнее...
iterator emplace (iterator position, Args &&...args)
Вставить новую точку в облако, используя итератор. Подробнее...
iterator transient_emplace (iterator position, Args &&...args)
Вставить новую точку в облако, используя итератор. Подробнее...
iterator erase (iterator position)
Удалить точку из облака. Подробнее...
iterator erase (iterator first, iterator last)
Удалить набор точек, заданный парой итераторов (first, last). Подробнее...
iterator transient_erase (iterator position)
Удалить точку из облака. Подробнее...
iterator transient_erase (iterator first, iterator last)
Удалить набор точек, заданный парой итераторов (first, last). Подробнее...
void swap (PointCloud< PointWithRange > &rhs)
Поменять местами облака точек. Подробнее...
void clear ()
Удаляет все точки в облаке и устанавливает ширину и высоту в 0. Подробнее...
Ptr makeShared () const
Скопировать облако в кучу и вернуть умный указатель Обратите внимание, что выполняется глубокая копия, поэтому не используйте эту функцию для непустых облаков. Подробнее...

Статические публичные члены-функции

static float getMaxAngleSize (const Eigen::Affine3f &viewer_pose, const Eigen::Vector3f &center, float radius)
Получить размер определённой области, как видно из заданной позы. Подробнее...
static Eigen::Vector3f getEigenVector3f (const PointWithRange &point)
Получить Eigen::Vector3f из PointWithRange. Подробнее...
static PCL_EXPORTS void getCoordinateFrameTransformation (RangeImage::CoordinateFrame coordinate_frame, Eigen::Affine3f &transformation)
Получить преобразование, которое преобразует данную систему координат в CAMERA_FRAME. Подробнее...
template<typename PointCloudTypeWithViewpoints >
static Eigen::Vector3f getAverageViewPoint (const PointCloudTypeWithViewpoints &point_cloud)
Получить среднюю точку обзора облака точек, где каждая точка несёт информацию о точке обзора как vp_x, vp_y, vp_z. Подробнее...
static PCL_EXPORTS void extractFarRanges (const pcl::PCLPointCloud2 &point_cloud_data, PointCloud< PointWithViewpoint > &far_ranges)
Проверить, содержит ли предоставленные данные дальние диапазоны, и добавить их в far_ranges. Подробнее...
- Статические публичные члены-функции, унаследованные от pcl::PointCloud< PointWithRange >
static bool concatenate (pcl::PointCloud< PointWithRange > &cloud1, const pcl::PointCloud< PointWithRange > &cloud2)
static bool concatenate (const pcl::PointCloud< PointWithRange > &cloud1, const pcl::PointCloud< PointWithRange > &cloud2, pcl::PointCloud< PointWithRange > &cloud_out)

Статические публичные атрибуты

static int max_no_of_threads
Максимальное количество потоков openmp, которые могут быть использованы в этом классе. Подробнее...
static bool debug
Просто для... Подробнее...

Статические защищенные члены-функции

static void createLookupTables ()
Создать таблицы поиска для тригонометрических функций. Подробнее...
static float asinLookUp (float value)
Обращение к таблице поиска asin. Подробнее...
static float atan2LookUp (float y, float x)
Обращение к таблице поиска std::atan2. Подробнее...
static float cosLookUp (float value)
Обращение к таблице поиска cos. Подробнее...

Защищенные атрибуты

Eigen::Affine3f to_range_image_system_
Обратная матрица к to_world_system_. Подробнее...
Eigen::Affine3f to_world_system_
Обратная матрица к to_range_image_system_. Подробнее...
float angular_resolution_x_
Угловое разрешение изображения дальности по оси x в радианах на пиксель. Подробнее...
float angular_resolution_y_
Угловое разрешение изображения дальности по оси y в радианах на пиксель. Подробнее...
float angular_resolution_x_reciprocal_
1.0/angular_resolution_x_ - для повышения производительности умножения по сравнению с делением Подробнее...
float angular_resolution_y_reciprocal_
1.0/angular_resolution_y_ - для повышения производительности умножения по сравнению с делением Подробнее...
int image_offset_x_
int image_offset_y_
Положение левого верхнего угла изображения дальности относительно изображения полного размера (360x180 градусов) Подробнее...
PointWithRange unobserved_point
Эта точка используется для возможности возврата ссылки на несуществующую точку. Подробнее...

Статические защищенные атрибуты

static const int lookup_table_size
static std::vector< float > asin_lookup_table
static std::vector< float > atan_lookup_table
static std::vector< float > cos_lookup_table

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

- Публичные атрибуты, унаследованные от pcl::PointCloud< PointWithRange >
pcl::PCLHeader header
Заголовок облака точек. Подробнее...
std::vector< PointWithRange, Eigen::aligned_allocator< PointWithRange > > points
Данные точек. Подробнее...
std::uint32_t width
Ширина облака точек (если организовано как структура изображения). Подробнее...
std::uint32_t height
Высота облака точек (если организовано как структура изображения). Подробнее...
bool is_dense
Истинно, если нет недействительных точек (например, имеют NaN или Inf значения в любом из их полей с плавающей точкой). Подробнее...
Eigen::Vector4f sensor_origin_
Положение датчика (начало/перевод). Подробнее...
Eigen::Quaternionf sensor_orientation_
Положение датчика (вращение). Подробнее...

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

RangeImage унаследована от pcl/PointCloud и предоставляет функциональность, ориентированную на ситуации, когда 3D-сцена была захвачена с определенной точки зрения.

Автор
Bastian Steder

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

Документация по типам данных членов

BaseClass

using pcl::RangeImage::BaseClass = pcl::PointCloud<PointWithRange>

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

ConstPtr

using pcl::RangeImage::ConstPtr = shared_ptr<const RangeImage>

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

Ptr

using pcl::RangeImage::Ptr = shared_ptr<RangeImage>

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

VectorOfEigenVector3f

using pcl::RangeImage::VectorOfEigenVector3f = std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> >

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

Перечисление членов

CoordinateFrame

enum pcl::RangeImage::CoordinateFrame
Перечислитель
CAMERA_FRAME
LASER_FRAME

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

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

RangeImage()

PCL_EXPORTS pcl::RangeImage::RangeImage ( )

Конструктор.

Ссылка на getNew().

~RangeImage()

virtual PCL_EXPORTS pcl::RangeImage::~RangeImage ( )
virtualdefault

Деструктор.

END_OF_DOCUMENT_MARKER

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

asinLookUp()

float pcl::RangeImage::asinLookUp ( float value )
inlinestaticprotected

Запрос таблицы поиска asin.

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

Ссылки на asin_lookup_table, lookup_table_size и pcl_lrintf.

Используется в getImagePoint() и pcl::RangeImageSpherical::getImagePoint().

atan2LookUp()

float pcl::RangeImage::atan2LookUp ( float y,
float x
)
inlinestaticprotected

Запрос таблицы поиска std::atan2.

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

Ссылки на atan_lookup_table, lookup_table_size, M_PI и pcl_lrintf.

Используется в getImagePoint() и pcl::RangeImageSpherical::getImagePoint().

calculate3DPoint() [1/4]

void pcl::RangeImage::calculate3DPoint ( float image_x,
float image_y,
Eigen::Vector3f & point
) const
inline

Вычисление 3D-точки в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе.

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

Ссылки на calculate3DPoint(), getPoint() и pcl::_PointWithRange::range.

calculate3DPoint() [2/4]

void pcl::RangeImage::calculate3DPoint ( float image_x,
float image_y,
float range,
Eigen::Vector3f & point
) const
inlinevirtual

Вычисление 3D-точки в соответствии с заданной точкой изображения и дальностью.

Переопределено в pcl::RangeImagePlanar и pcl::RangeImageSpherical.

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

Ссылки на getAnglesFromImagePoint() и to_world_system_.

calculate3DPoint() [3/4]

void pcl::RangeImage::calculate3DPoint ( float image_x,
float image_y,
float range,
PointWithRange & point
) const
inline

Вычисление 3D-точки в соответствии с заданной точкой изображения и дальностью.

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

Ссылки на pcl::_PointWithRange::range.

Используется в calculate3DPoint() и pcl::RangeImageBorderExtractor::get3dDirection().

calculate3DPoint() [4/4]

void pcl::RangeImage::calculate3DPoint ( float image_x,
float image_y,
PointWithRange & point
) const
inline

Вычисление 3D-точки в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе.

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

Ссылки на calculate3DPoint(), getPoint() и pcl::_PointWithRange::range.

change3dPointsToLocalCoordinateFrame()

PCL_EXPORTS void pcl::RangeImage::change3dPointsToLocalCoordinateFrame ( )

Эта функция устанавливает положение датчика в 0 и преобразует все позиции точек в эту локальную систему координат.

checkPoint()

float pcl::RangeImage::checkPoint ( const Eigen::Vector3f & point,
PointWithRange & point_in_image
) const
inline

point_in_image будет точкой на изображении в позиции, где находилась бы данная точка.

Возвращает дальность указанной точки.

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

Ссылки на getImagePoint(), getPoint(), isInImage() и unobserved_point.

copyTo()

virtual PCL_EXPORTS void pcl::RangeImage::copyTo ( RangeImage & other ) const
virtual

Скопировать содержимое other в *this.

Необходимо для использования в виртуальных функциях, которым требуется копирование производных классов RangeImage (таких как RangeImagePlanar)

Переопределено в pcl::RangeImagePlanar.

cosLookUp()

float pcl::RangeImage::cosLookUp ( float value )
inlinestaticprotected

Получение значения из таблицы косинусов.

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

Ссылки на cos_lookup_table, lookup_table_size, M_PI и pcl_lrintf.

Используется в pcl::RangeImagePlanar::calculate3DPoint().

createEmpty() [1/2]

void pcl::RangeImage::createEmpty ( float angular_resolution,
const Eigen::Affine3f & sensor_pose = Eigen::Affine3f::Identity(),
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float angle_width = pcl::deg2rad(360.0f),
float angle_height = pcl::deg2rad(180.0f)
)

Создать пустое изображение глубины (заполненное неучтёнными точками)

createEmpty() [2/2]

void pcl::RangeImage::createEmpty ( float angular_resolution_x,
float angular_resolution_y,
const Eigen::Affine3f & sensor_pose = Eigen::Affine3f::Identity(),
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float angle_width = pcl::deg2rad(360.0f),
float angle_height = pcl::deg2rad(180.0f)
)

Создать пустое изображение глубины (заполненное неучтёнными точками)

createFromPointCloud() [1/2]

template<typename PointCloudType >
void pcl::RangeImage::createFromPointCloud ( const PointCloudType & point_облако,
float угловое_разрешение = pcl::deg2rad (0.5f),
float макс_угол_ширина = pcl::deg2rad (360.0f),
float макс_угол_высота = pcl::deg2rad (180.0f),
const Eigen::Affine3f & положение_датчика = Eigen::Affine3f::Identity (),
RangeImage::СистемаКоординат система_координат = CAMERA_FRAME,
float уровень_шума = 0.0f,
float мин_диапазон = 0.0f,
int размер_области = 0
)

Создать изображение глубины из облака точек.

Параметры
point_облако входное облако точек
угловое_разрешение разница углов (в радианах) между отдельными пикселями на изображении
макс_угол_ширина угол (в радианах), определяющий горизонтальные границы датчика
макс_угол_высота угол (в радианах), определяющий вертикальные границы датчика
положение_датчика аффинная матрица, определяющая положение датчика (по умолчанию Eigen::Affine3f::Identity () )
система_координат система координат (по умолчанию CAMERA_FRAME)
уровень_шума - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0,0, то это эквивалентно обычному z-буферу и всегда будет брать минимум за ячейку.
мин_диапазон минимальный видимый диапазон (по умолчанию 0)
размер_области размер границы (по умолчанию 0). Установите в значение std::numeric_limits<int>::min(), чтобы отключить обрезку.

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

Ссылка на createFromPointCloudWithKnownSize(), и createFromPointCloudWithViewpoints().

createFromPointCloud() [2/2]

template<typename PointCloudType >
void pcl::RangeImage::createFromPointCloud ( const PointCloudType & point_облако,
float угловое_разрешение_x = pcl::deg2rad (0.5f),
float угловое_разрешение_y = pcl::deg2rad (0.5f),
float макс_угол_ширина = pcl::deg2rad (360.0f),
float макс_угол_высота = pcl::deg2rad (180.0f),
const Eigen::Affine3f & положение_датчика = Eigen::Affine3f::Identity (),
RangeImage::СистемаКоординат система_координат = CAMERA_FRAME,
float уровень_шума = 0.0f,
float мин_диапазон = 0.0f,
int размер_области = 0
)

Создать изображение глубины из облака точек.

Параметры
point_облако входное облако точек
угловое_разрешение_x разница углов (в радианах) между отдельными пикселями на изображении в направлении x
угловое_разрешение_y разница углов (в радианах) между отдельными пикселями на изображении в направлении y
макс_угол_ширина угол (в радианах), определяющий горизонтальные границы датчика
макс_угол_высота угол (в радианах), определяющий вертикальные границы датчика
положение_датчика аффинная матрица, определяющая положение датчика (по умолчанию Eigen::Affine3f::Identity () )
система_координат система координат (по умолчанию CAMERA_FRAME)
уровень_шума - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0,0, то это эквивалентно обычному z-буферу и всегда будет брать минимум за ячейку.
мин_диапазон минимальный видимый диапазон (по умолчанию 0)
размер_области размер границы (по умолчанию 0). Установите в значение std::numeric_limits<int>::min(), чтобы отключить обрезку.

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

Ссылки на angular_resolution_x_reciprocal_, angular_resolution_y_reciprocal_, cropImage(), pcl::deg2rad(), doZBuffer(), getCoordinateFrameTransformation(), pcl::PointCloud< PointWithRange >::height, image_offset_x_, image_offset_y_, pcl::PointCloud< PointWithRange >::is_dense, pcl_lrint, pcl::PointCloud< PointWithRange >::points, recalculate3DPointPositions(), setAngularResolution(), pcl::PointCloud< PointWithRange >::size(), to_range_image_system_, to_world_system_, unobserved_point, and pcl::PointCloud< PointWithRange >::width.

createFromPointCloudWithKnownSize() [1/2]

template<typename PointCloudType >
void pcl::RangeImage::createFromPointCloudWithKnownSize ( const PointCloudType & point_cloud,
float angular_resolution,
const Eigen::Vector3f & point_cloud_center,
float point_cloud_radius,
const Eigen::Affine3f & sensor_pose = Eigen::Affine3f::Identity (),
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float noise_level = 0.0f,
float min_range = 0.0f,
int border_size = 0
)

Создайте изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчёта.

Параметры
point_cloud входное облако точек
angular_resolution угол (в радианах) между каждым образцом в изображении глубины
point_cloud_center центр ограничивающей сферы
point_cloud_radius радиус ограничивающей сферы
sensor_pose аффинная матрица, определяющая положение датчика (по умолчанию Eigen::Affine3f::Identity () )
coordinate_frame система координат (по умолчанию CAMERA_FRAME)
noise_level - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0.0, это эквивалентно обычному z-буферу, и он всегда будет брать минимум на ячейку.
min_range минимальное видимое расстояние (по умолчанию 0)
border_size размер границы (по умолчанию 0). Установите в std::numeric_limits<int>::min() чтобы отключить обрезку.

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

createFromPointCloudWithKnownSize() [2/2]

template<typename PointCloudType >
void pcl::RangeImage::createFromPointCloudWithKnownSize ( const PointCloudType & point_cloud,
float angular_resolution_x,
float angular_resolution_y,
const Eigen::Vector3f & point_cloud_center,
float point_cloud_radius,
const Eigen::Affine3f & sensor_pose = Eigen::Affine3f::Identity (),
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float noise_level = 0.0f,
float min_range = 0.0f,
int border_size = 0
)

Создайте изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчёта.

Параметры
point_cloud входное облако точек
angular_resolution_x разность углов (в радианах) между отдельными пикселями изображения в направлении x
angular_resolution_y разность углов (в радианах) между отдельными пикселями изображения в направлении y
point_cloud_center центр ограничивающей сферы
point_cloud_radius радиус ограничивающей сферы
sensor_pose аффинная матрица, определяющая положение датчика (по умолчанию Eigen::Affine3f::Identity () )
coordinate_frame система координат (по умолчанию CAMERA_FRAME)
noise_level - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0.0, это эквивалентно обычному z-буферу, и он всегда будет брать минимум на ячейку.
min_range минимальное видимое расстояние (по умолчанию 0)
border_size размер границы (по умолчанию 0). Установите в std::numeric_limits<int>::min() чтобы отключить обрезку.

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

Ссылки на angular_resolution_x_reciprocal_, angular_resolution_y_reciprocal_, createFromPointCloud(), cropImage(), pcl::deg2rad(), doZBuffer(), getCoordinateFrameTransformation(), getImagePoint(), getMaxAngleSize(), pcl::PointCloud< PointWithRange >::height, image_offset_x_, image_offset_y_, pcl::PointCloud< PointWithRange >::is_dense, pcl_lrint, pcl::PointCloud< PointWithRange >::points, recalculate3DPointPositions(), setAngularResolution(), to_range_image_system_, to_world_system_, unobserved_point, и pcl::PointCloud< PointWithRange >::width.

createFromPointCloudWithViewpoints() [1/2]

template<typename PointCloudTypeWithViewpoints >
void pcl::RangeImage::createFromPointCloudWithViewpoints ( const PointCloudTypeWithViewpoints & point_cloud,
float angular_resolution,
float max_angle_width,
float max_angle_height,
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float noise_level = 0.0f,
float min_range = 0.0f,
int border_size = 0
)

Создать изображение глубины из облака точек, используя среднюю точку обзора точек (vp_x,vp_y,vp_z в типе точки) в облаке точек в качестве позы сенсора (предполагая вращение (0,0,0)).

Параметры
point_cloud входное облако точек
angular_resolution угол (в радианах) между каждым образцом в изображении глубины
max_angle_width угол (в радианах), определяющий горизонтальные границы сенсора
max_angle_height угол (в радианах), определяющий вертикальные границы сенсора
coordinate_frame система координат (по умолчанию CAMERA_FRAME)
noise_level - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0,0, это эквивалентно обычному z-буферу и всегда будет брать минимум по ячейке.
min_range минимальное видимое расстояние (по умолчанию 0)
border_size размер границы (по умолчанию 0). Установите в std::numeric_limits<int>::min(), чтобы отключить обрезку.
Примечание
Если wrong_coordinate_system имеет значение true, позиция сенсора будет повернута для перехода от системы координат, где ось x направлена вперёд, y влево, а z вверх, к системе координат, используемой здесь (x вправо, y вниз, z вперёд)

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

createFromPointCloudWithViewpoints() [2/2]

template<typename PointCloudTypeWithViewpoints >
void pcl::RangeImage::createFromPointCloudWithViewpoints ( const PointCloudTypeWithViewpoints & point_cloud,
float angular_resolution_x,
float angular_resolution_y,
float max_angle_width,
float max_angle_height,
RangeImage::CoordinateFrame coordinate_frame = CAMERA_FRAME,
float noise_level = 0.0f,
float min_range = 0.0f,
int border_size = 0
)

Создать изображение глубины из облака точек, используя среднюю точку обзора точек (vp_x,vp_y,vp_z в типе точки) в облаке точек в качестве позы сенсора (предполагая вращение (0,0,0)).

Параметры
point_cloud входное облако точек
angular_resolution_x разница углов (в радианах) между отдельными пикселями изображения в направлении x
angular_resolution_y разница углов (в радианах) между отдельными пикселями изображения в направлении y
max_angle_width угол (в радианах), определяющий горизонтальные границы сенсора
max_angle_height угол (в радианах), определяющий вертикальные границы сенсора
coordinate_frame система координат (по умолчанию CAMERA_FRAME)
noise_level - Расстояние в метрах, внутри которого z-буфер не будет использовать минимум, а среднее значение точек. Если 0,0, это эквивалентно обычному z-буферу и всегда будет брать минимум по ячейке.
min_range минимальное видимое расстояние (по умолчанию 0)
border_size размер границы (по умолчанию 0). Установите в std::numeric_limits<int>::min(), чтобы отключить обрезку.
Примечание
Если wrong_coordinate_system имеет значение true, позиция сенсора будет повернута для перехода от системы координат, где ось x направлена вперёд, y влево, а z вверх, к системе координат, используемой здесь (x вправо, y вниз, z вперёд)

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

Ссылки на createFromPointCloud() и getAverageViewPoint().

createLookupTables()

static void pcl::RangeImage::createLookupTables ( )
staticprotected

Создать таблицы поиска для тригонометрических функций.

cropImage()

PCL_EXPORTS void pcl::RangeImage::cropImage ( int border_size = 0,
int top = -1,
int right = -1,
int bottom = -1,
int left = -1
)

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

Параметры
border_size разрешает увеличение от минимального размера на заданное количество пикселей (по умолчанию 0)
top если положительно, это значение переопределяет позицию верхней границы (по умолчанию -1)
right если положительно, это значение переопределяет позицию правой границы (по умолчанию -1)
bottom если положительно, это значение переопределяет позицию нижней границы (по умолчанию -1)
left если положительно, это значение переопределяет позицию левой границы (по умолчанию -1)

Используется в createFromPointCloud() и createFromPointCloudWithKnownSize().

doZBuffer()

template<typename PointCloudType >
void pcl::RangeImage::doZBuffer ( const PointCloudType & point_cloud,
float noise_level,
float min_range,
int & top,
int & right,
int & bottom,
int & left
)

Интегрировать заданный облако точек в текущее изображение диапазона с помощью буфера z.

Параметры
point_cloud облако входных точек
noise_level - Расстояние в метрах, внутри которого буфер z не будет использовать минимум, а среднее значение точек. Если 0.0, это эквивалентно обычному буферу z и всегда будет брать минимальное значение за ячейку.
min_range минимальный видимый диапазон
top возвращает минимальную позицию пикселя y на изображении, где была добавлена точка
right возвращает максимальную позицию пикселя x на изображении, где была добавлена точка
bottom возвращает максимальную позицию пикселя y на изображении, где была добавлена точка
left возвращает минимальную позицию пикселя x на изображении, где была добавлена точка

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

Ссылки на getImagePoint(), pcl::PointCloud< PointWithRange >::height, pcl::isFinite(), isInImage(), pcl_lrint, pcl::PointCloud< PointWithRange >::points, real2DToInt2D(), pcl::PointCloud< PointWithRange >::size(), и pcl::PointCloud< PointWithRange >::width.

Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize(), и createFromPointCloudWithKnownSize().

extractFarRanges()

static PCL_EXPORTS void pcl::RangeImage::extractFarRanges ( const pcl::PCLPointCloud2 & point_cloud_data,
PointCloud< PointWithViewpoint > & far_ranges
)
static

Проверить, содержит ли предоставленные данные дальние диапазоны, и добавить их в far_ranges.

Параметры
point_cloud_data сообщение PCLPointCloud2, содержащее входное облако
far_ranges результирующее облако, содержащее точки с дальними диапазонами

get1dPointAverage()

void pcl::RangeImage::get1dPointAverage ( int x,
int y,
int delta_x,
int delta_y,
int no_of_points,
PointWithRange & average_point
) const
inline

Вычисляет среднее 3D положение no_of_points точек, описываемых начальной точкой x,y в направлении delta.

Возвращает точку максимального диапазона (диапазон = INFINITY), если первая точка имеет максимальный диапазон, и непросмотренную точку (диапазон = -INFINITY), если ни одна из точек не была просмотрена.

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

Ссылки на getPoint(), getPointNoCheck(), isValid(), pcl::_PointWithRange::range, и unobserved_point.

Используется в pcl::RangeImageBorderExtractor::getNeighborDistanceChangeScore().

getAcutenessValue() [1/2]

float pcl::RangeImage::getAcutenessValue ( const PointWithRange & point1,
const PointWithRange & point2
) const
inline

Вычислить оценку [0,1], которая показывает, насколько острый угол падения (1.0f - getImpactAngle/90 градусов) вернет -INFINITY, если одна из точек не была просмотрена.

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

Ссылки на getImpactAngle(), и M_PI.

Используется в getAcutenessValue().

getAcutenessValue() [2/2]

float pcl::RangeImage::getAcutenessValue ( int x1,
int y1,
int x2,
int y2
) const
inline

То же, что и выше.

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

Ссылки на getAcutenessValue(), getPoint() и isInImage().

getAcutenessValueImages()

PCL_EXPORTS void pcl::RangeImage::getAcutenessValueImages ( int pixel_distance,
float *& acuteness_value_image_x,
float *& acuteness_value_image_y
) const

Вычисление getAcutenessValue для каждой точки.

getAnglesFromImagePoint()

void pcl::RangeImage::getAnglesFromImagePoint ( float image_x,
float image_y,
float & angle_x,
float & angle_y
) const
inline

Получение углов, соответствующих данной точке изображения.

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

Ссылки на angular_resolution_x_, angular_resolution_y_, image_offset_x_, image_offset_y_ и M_PI.

Используется в calculate3DPoint().

getAngularResolution() [1/2]

float pcl::RangeImage::getAngularResolution ( ) const
inline

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

Предоставлено для обратной совместимости

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

Ссылки на angular_resolution_x_.

getAngularResolution() [2/2]

void pcl::RangeImage::getAngularResolution ( float & angular_resolution_x,
float & angular_resolution_y
) const
inline

Получение углового разрешения облака точек в направлениях x и y (в радианах).

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

Ссылки на angular_resolution_x_ и angular_resolution_y_.

getAngularResolutionX()

float pcl::RangeImage::getAngularResolutionX ( ) const
inline

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

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

Ссылки на angular_resolution_x_.

Используется в pcl::operator<<().

getAngularResolutionY()

float pcl::RangeImage::getAngularResolutionY ( ) const
inline

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

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

Ссылки на angular_resolution_y_.

Используется в pcl::operator<<().

getAverageEuclideanDistance()

float pcl::RangeImage::getAverageEuclideanDistance ( int x,
int y,
int offset_x,
int offset_y,
int max_steps
) const
inline

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

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

Ссылки на getEuclideanDistanceSquared().

getAverageViewPoint()

template<typename PointCloudTypeWithViewpoints >
Eigen::Vector3f pcl::RangeImage::getAverageViewPoint ( const PointCloudTypeWithViewpoints & point_cloud )
static

Получить среднюю точку обзора облака точек, где каждая точка содержит информацию о точке обзора как vp_x, vp_y, vp_z.

Parameters
point_cloud входное облако точек
Returns
средняя точка обзора (как Eigen::Vector3f)

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

Используется в createFromPointCloudWithViewpoints().

getBlurredImage()

virtual PCL_EXPORTS void pcl::RangeImage::getBlurredImage ( int blur_radius,
RangeImage & range_image
) const
virtual

Получить размытое изображение облака точек, используя фильтры типа «прямоугольный».

getBlurredImageUsingIntegralImage()

PCL_EXPORTS void pcl::RangeImage::getBlurredImageUsingIntegralImage ( int blur_radius,
float * integral_image,
int * valid_points_num_image,
RangeImage & range_image
) const

Получить размытое изображение облака точек, используя фильтры типа «прямоугольный» на предоставленном интегральном изображении.

getCoordinateFrameTransformation()

static PCL_EXPORTS void pcl::RangeImage::getCoordinateFrameTransformation ( RangeImage::CoordinateFrame coordinate_frame,
Eigen::Affine3f & transformation
)
static

Получить преобразование, которое преобразует заданную систему координат в систему координат CAMERA_FRAME.

Parameters
coordinate_frame входная система координат
transformation результирующее преобразование, преобразующее coordinate_frame в CAMERA_FRAME

Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize() и createFromPointCloudWithKnownSize().

getCurvature()

float pcl::RangeImage::getCurvature ( int x,
int y,
int radius,
int step_size
) const
inline

Вычисляет кривизну в точке, используя pca.

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

Ссылки на pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::doPCA(), pcl::VectorAverage< real, dimension >::getNoOfSamples(), getPoint(), isInImage() и pcl::_PointWithRange::range.

getEigenVector3f() [1/3]

Eigen::Vector3f pcl::RangeImage::getEigenVector3f ( const PointWithRange & point )
inlinestatic

Получить Eigen::Vector3f из PointWithRange.

Parameters
point входная точка
Returns
представление входной точки в виде Eigen::Vector3f

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

Используется в getImpactAngleBasedOnLocalNormal().

getEigenVector3f() [2/3]

const Eigen::Map< const Eigen::Vector3f > pcl::RangeImage::getEigenVector3f ( int index ) const
inline

То же самое, что и выше.

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

Ссылки на getPoint().

getEigenVector3f() [3/3]

const Eigen::Map< const Eigen::Vector3f > pcl::RangeImage::getEigenVector3f ( int x,
int y
) const
inline

То же самое, что и выше.

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

Ссылки на getPoint().

getEuclideanDistanceSquared()

float pcl::RangeImage::getEuclideanDistanceSquared ( int x1,
int y1,
int x2,
int y2
) const
inline

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

Возвращает -INFINITY, если одна из точек не была наблюдаема.

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

Ссылки на getPoint(), isObserved(), pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().

Используется в getAverageEuclideanDistance().

getHalfImage()

virtual void pcl::RangeImage::getHalfImage ( RangeImage & half_image ) const
virtual

Получить изображение с разрешением в половину.

Переопределено в pcl::RangeImagePlanar.

getImageOffsetX()

int pcl::RangeImage::getImageOffsetX ( ) const
inline

Получить значение image_offset_x_.

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

Ссылки на image_offset_x_.

getImageOffsetY()

int pcl::RangeImage::getImageOffsetY ( ) const
inline

Получить значение image_offset_y_.

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

Ссылки на image_offset_y_.

getImagePoint() [1/7]

void pcl::RangeImage::getImagePoint ( const Eigen::Vector3f & point,
float & image_x,
float & image_y
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint().

getImagePoint() [2/7]

void pcl::RangeImage::getImagePoint ( const Eigen::Vector3f & point,
float & image_x,
float & image_y,
float & range
) const
inlinevirtual

Получить точку изображения из 3D точки в мировых координатах.

Переопределено в pcl::RangeImagePlanar и pcl::RangeImageSpherical.

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

Ссылки на asinLookUp(), atan2LookUp(), getImagePointFromAngles() и to_range_image_system_.

Используется в checkPoint(), createFromPointCloudWithKnownSize(), doZBuffer(), getImagePoint(), getRangeDifference() и integrateFarRanges().

getImagePoint() [3/7]

void pcl::RangeImage::getImagePoint ( const Eigen::Vector3f & point,
int & image_x,
int & image_y
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint() и real2DToInt2D().

getImagePoint() [4/7]

void pcl::RangeImage::getImagePoint ( const Eigen::Vector3f & point,
int & image_x,
int & image_y,
float & range
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint() и real2DToInt2D().

getImagePoint() [5/7]

void pcl::RangeImage::getImagePoint ( float x,
float y,
float z,
float & image_x,
float & image_y
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint().

getImagePoint() [6/7]

void pcl::RangeImage::getImagePoint ( float x,
float y,
float z,
float & image_x,
float & image_y,
float & range
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint().

getImagePoint() [7/7]

void pcl::RangeImage::getImagePoint ( float x,
float y,
float z,
int & image_x,
int & image_y
) const
inline

То же самое, что и выше.

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

Ссылки на getImagePoint() и real2DToInt2D().

getImagePointFromAngles()

void pcl::RangeImage::getImagePointFromAngles ( float angle_x,
float angle_y,
float & image_x,
float & image_y
) const
inline

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

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

Ссылка на getImagePoint().

getImpactAngle() [1/2]

float pcl::RangeImage::getImpactAngle ( const PointWithRange & point1,
const PointWithRange & point2
) const
inline

Вычисление угла удара на основе положения датчика и двух заданных точек — вернет -INFINITY, если одна из точек не наблюдается.

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

Ссылки на M_PI, pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().

Используется в getAcutenessValue() и getImpactAngle().

getImpactAngle() [2/2]

float pcl::RangeImage::getImpactAngle ( int x1,
int y1,
int x2,
int y2
) const
inline

То же самое, что и выше.

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

Ссылки на getImpactAngle(), getPoint() и isInImage().

getImpactAngleBasedOnLocalNormal()

float pcl::RangeImage::getImpactAngleBasedOnLocalNormal ( int x,
int y,
int radius
) const
inline

Извлечь локальную нормаль (с эвристикой, чтобы не включать фоновые точки) и вычислить угол удара на основе этого.

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

Ссылки на pcl::deg2rad(), getEigenVector3f(), getNormalForClosestNeighbors(), getPoint(), getSensorPos() и isValid().

Используется в getNormalBasedAcutenessValue().

getImpactAngleImageBasedOnLocalNormals()

PCL_EXPORTS float* pcl::RangeImage::getImpactAngleImageBasedOnLocalNormals ( int radius ) const

Использует вышеуказанную функцию для каждой точки в изображении.

getIntegralImage()

PCL_EXPORTS void pcl::RangeImage::getIntegralImage ( float *& integral_image,
int *& valid_points_num_image
) const

Получить интегральное изображение значений дальности (используется для быстрых операций размытия).

Вы несете ответственность за его удаление после использования!

getInterpolatedSurfaceProjection() [1/2]

PCL_EXPORTS float* pcl::RangeImage::getInterpolatedSurfaceProjection ( const Eigen::Affine3f & pose,
int pixel_size,
float world_size
) const

Вычислить диапазон фрагмента как значения z координатной системы, заданной pose.

Фрагмент будет иметь размер pixel_size x pixel_size, и каждый пиксель охватывает world_size/pixel_size метров в мире. Вы несете ответственность за удаление структуры после этого!

getInterpolatedSurfaceProjection() [2/2]

PCL_EXPORTS float* pcl::RangeImage::getInterpolatedSurfaceProjection ( const Eigen::Vector3f & point,
int pixel_size,
float world_size
) const

Аналогично выше, но с использованием локальной системы координат, определенной точкой и направлением взгляда.

getMaxAngleSize()

float pcl::RangeImage::getMaxAngleSize ( const Eigen::Affine3f & viewer_pose,
const Eigen::Vector3f & center,
float radius
)
inlinestatic

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

Parameters
viewer_pose матрица аффинного преобразования, определяющая положение наблюдателя
center центр области
radius радиус области
Returns
размер области, так как она видна в соответствии с viewer_pose

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

Используется в createFromPointCloudWithKnownSize().

getMinMaxRanges()

PCL_EXPORTS void pcl::RangeImage::getMinMaxRanges ( float & min_range,
float & max_range
) const

Найти минимальное и максимальное расстояние на изображении.

getNew()

virtual PCL_EXPORTS RangeImage* pcl::RangeImage::getNew ( ) const
inlinevirtual

Возвратить только что созданное изображение Range.

Может быть переопределен в производных классах, таких как RangeImagePlanar, чтобы вернуть изображение того же типа.

Переопределено в pcl::RangeImagePlanar и pcl::RangeImageSpherical.

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

Ссылки на RangeImage().

getNormal()

bool pcl::RangeImage::getNormal ( int x,
int y,
int radius,
Eigen::Vector3f & normal,
int step_size = 1
) const
inline

Вычисление нормали точки изображения с использованием соседей с максимальным расстоянием пикселей radius.

step_size определяет, сколько пикселей используется. 1 означает все, 2 - только каждый второй и т.д. Возвращает false, если нормаль вычислить не удалось.

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

Ссылки на pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::doPCA(), pcl::VectorAverage< real, dimension >::getMean(), pcl::VectorAverage< real, dimension >::getNoOfSamples(), getPoint(), getSensorPos(), isInImage() и pcl::_PointWithRange::range.

getNormalBasedAcutenessValue()

float pcl::RangeImage::getNormalBasedAcutenessValue ( int x,
int y,
int radius
) const
inline

Вычисление оценки [0,1], которая показывает, насколько острый угол падения (1.0f - getImpactAngle/90deg). Используется getImpactAngleBasedOnLocalNormal. Вернёт -INFINITY, если нормаль не была рассчитана.

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

Ссылки на getImpactAngleBasedOnLocalNormal() и M_PI.

getNormalBasedUprightTransformation()

PCL_EXPORTS bool pcl::RangeImage::getNormalBasedUprightTransformation ( const Eigen::Vector3f & point,
float max_dist,
Eigen::Affine3f & transformation
) const

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

getNormalForClosestNeighbors() [1/3]

bool pcl::RangeImage::getNormalForClosestNeighbors ( int x,
int y,
Eigen::Vector3f & normal,
int radius = 2
) const
inline

То же самое, что выше, с использованием значений по умолчанию.

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

Ссылки на getNormalForClosestNeighbors(), getPoint() и isValid().

getNormalForClosestNeighbors() [2/3]

bool pcl::RangeImage::getNormalForClosestNeighbors ( int x,
int y,
int radius,
const Eigen::Vector3f & point,
int no_of_nearest_neighbors,
Eigen::Vector3f & normal,
Eigen::Vector3f * point_on_plane = nullptr,
int step_size = 1
) const
inline

То же самое, что выше.

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

Ссылки на getSurfaceInformation().

getNormalForClosestNeighbors() [3/3]

bool pcl::RangeImage::getNormalForClosestNeighbors ( int x,
int y,
int radius,
const PointWithRange & point,
int no_of_nearest_neighbors,
Eigen::Vector3f & normal,
int step_size = 1
) const
inline

То же самое, что выше, но учитываются только no_of_nearest_neighbors точек, ближайших к данной точке.

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

Используется в getImpactAngleBasedOnLocalNormal() и getNormalForClosestNeighbors().

getOverlap()

PCL_EXPORTS float pcl::RangeImage::getOverlap ( const RangeImage & other_range_image,
const Eigen::Affine3f & relative_transformation,
int search_radius,
float max_distance,
int pixel_step = 1
) const

Вычисляет перекрытие двух изображений дальности, учитывая относительное преобразование (от заданного изображения к этому)

getPoint() [1/7]

PointWithRange & pcl::RangeImage::getPoint ( float image_x,
float image_y
)
inline

Версия метода без const.

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

Ссылается на getPoint() и real2DToInt2D().

getPoint() [2/7]

const PointWithRange & pcl::RangeImage::getPoint ( float image_x,
float image_y
) const
inline

Возвращает 3D точку с дальностью в заданной позиции изображения.

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

Ссылается на getPoint() и real2DToInt2D().

getPoint() [3/7]

PointWithRange & pcl::RangeImage::getPoint ( int image_x,
int image_y
)
inline

Версия метода без const для getPoint.

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

Ссылается на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.

getPoint() [4/7]

const PointWithRange & pcl::RangeImage::getPoint ( int image_x,
int image_y
) const
inline

Возвращает 3D точку с дальностью в заданной позиции изображения.

Параметры
image_x координата x
image_y координата y
Возвращает
точку в указанном месте (возвращает unobserved_point, если за пределами изображения)

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

Ссылается на isInImage(), pcl::PointCloud< PointWithRange >::points, unobserved_point и pcl::PointCloud< PointWithRange >::width.

Используется в calculate3DPoint(), checkPoint(), get1dPointAverage(), pcl::RangeImageBorderExtractor::get3dDirection(), getAcutenessValue(), getCurvature(), getEigenVector3f(), getEuclideanDistanceSquared(), pcl::RangeImagePlanar::getImagePoint(), getImpactAngle(), getImpactAngleBasedOnLocalNormal(), pcl::RangeImageBorderExtractor::getNeighborDistanceChangeScore(), getNormal(), getNormalForClosestNeighbors(), getPoint(), getRangeDifference(), getSquaredDistanceOfNthNeighbor(), getSurfaceAngleChange(), getSurfaceInformation(), getViewingDirection(), integrateFarRanges() и isMaxRange().

getPoint() [5/7]

void pcl::RangeImage::getPoint ( int image_x,
int image_y,
Eigen::Vector3f & point
) const
inline

Аналогично вышеописанному.

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

Ссылается на getPoint().

getPoint() [6/7]

const PointWithRange & pcl::RangeImage::getPoint ( int index ) const
inline

Возвращает 3D точку с дальностью по заданному индексу (индекс = y*ширина+x)

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

Ссылки на pcl::PointCloud< PointWithRange >::points.

getPoint() [7/7]

void pcl::RangeImage::getPoint ( int index,
Eigen::Vector3f & point
) const
inline

Аналогично вышесказанному.

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

Ссылки на getPoint().

getPointNoCheck() [1/2]

PointWithRange & pcl::RangeImage::getPointNoCheck ( int image_x,
int image_y
)
inline

Непостоянная версия getPointNoCheck.

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

Ссылки на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.

getPointNoCheck() [2/2]

const PointWithRange & pcl::RangeImage::getPointNoCheck ( int image_x,
int image_y
) const
inline

Возвращает 3D точку с дальностью по заданным координатам изображения.

Этот метод не проверяет, находится ли указанная позиция изображения внутри изображения!

Параметры
image_x координата x
image_y координата y
Возвращает
точку в указанной позиции (программа может выйти из строя, если позиция находится за пределами границ изображения)

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

Ссылки на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.

Используется в get1dPointAverage() и getSquaredDistanceOfNthNeighbor().

getRangeDifference()

float pcl::RangeImage::getRangeDifference ( const Eigen::Vector3f & point ) const
inline

Возвращает разницу в дальности между заданной точкой и дальностью точки в изображении в позиции, где находилась бы данная точка.

(Результат - point_in_image.range - given_point.range)

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

Ссылки на getImagePoint(), getPoint(), isInImage() и pcl::_PointWithRange::range.

getRangeImageWithSmoothedSurface()

PCL_EXPORTS void pcl::RangeImage::getRangeImageWithSmoothedSurface ( int radius,
RangeImage & smoothed_range_image
) const

Проецирует все точки на локальное приближение плоскости, тем самым сглаживая поверхность сканирования.

getRangesArray()

PCL_EXPORTS float* pcl::RangeImage::getRangesArray ( ) const

Получает все значения дальности в одном массиве float размером ширина*высота.

Возвращает
указатель на новый массив float, содержащий значения дальности
Примечание
Этот метод выделяет новый массив float; вызывающая сторона несет ответственность за освобождение этой памяти.

getRotationToViewerCoordinateFrame()

void pcl::RangeImage::getRotationToViewerCoordinateFrame ( const Eigen::Vector3f & point,
Eigen::Affine3f & transformation
) const
inline

Аналогично вышесказанному, но возвращает только вращение.

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

Ссылки на getSensorPos() и pcl::getTransformationFromTwoUnitVectors().

getSensorPos()

const Eigen::Vector3f pcl::RangeImage::getSensorPos ( ) const
inline

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

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

Ссылки на to_world_system_.

Используется в pcl::RangeImageBorderExtractor::get3dDirection(), getImpactAngleBasedOnLocalNormal(), getNormal(), getRotationToViewerCoordinateFrame(), getSurfaceInformation(), getTransformationToViewerCoordinateFrame() и getViewingDirection().

getSquaredDistanceOfNthNeighbor()

float pcl::RangeImage::getSquaredDistanceOfNthNeighbor ( int x,
int y,
int radius,
int n,
int step_size
) const
inline

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

Ссылки на getPoint(), getPointNoCheck(), isValid(), pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().

getSubImage()

virtual void pcl::RangeImage::getSubImage ( int sub_image_image_offset_x,
int sub_image_image_offset_y,
int sub_image_width,
int sub_image_height,
int combine_pixels,
RangeImage & sub_image
) const
virtual

Получить подчасть полного изображения в виде нового изображения дальности.

Параметры
sub_image_image_offset_x - Координата x левого верхнего пикселя подизображения. Всегда по отношению к абсолютным 0,0, означающим -180°, -90° и уже в системе нового изображения, поэтому фактический пиксель, используемый в исходном изображении, равен combine_pixels* (image_offset_x-image_offset_x_)
sub_image_image_offset_y - То же, что и image_offset_x для координаты y
sub_image_width - ширина нового изображения
sub_image_height - высота нового изображения
combine_pixels - коэффициент уменьшения, означающий, что новое угловое разрешение в combine_pixels раз меньше старого
sub_image - выходное изображение

Переопределено в pcl::RangeImagePlanar.

getSurfaceAngleChange()

void pcl::RangeImage::getSurfaceAngleChange ( int x,
int y,
int radius,
float & angle_change_x,
float & angle_change_y
) const
inline

Вычисляет, насколько изменяется поверхность в точке.

Возвращает угол [0.0f, PI] для направления x и y. Значение -INFINITY означает, что точка не наблюдалась.

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

Ссылки на getPoint(), getTransformationToViewerCoordinateFrame(), isMaxRange(), isObserved() и isValid().

getSurfaceAngleChangeImages()

PCL_EXPORTS void pcl::RangeImage::getSurfaceAngleChangeImages ( int radius,
float *& angle_change_image_x,
float *& angle_change_image_y
) const

Использует вышеприведенную функцию для каждой точки в изображении.

getSurfaceChange()

PCL_EXPORTS float pcl::RangeImage::getSurfaceChange ( int x,
int y,
int radius
) const

Вычисляет, насколько изменяется поверхность в точке.

Значение Pi означает плоскую поверхность, а 0.0f — точечную поверхность. Вычисляет, насколько изменяется поверхность в точке. 1 означает угол в 90°, а 0 — плоскую поверхность

getSurfaceChangeImage()

PCL_EXPORTS float* pcl::RangeImage::getSurfaceChangeImage ( int radius ) const

Использует вышеприведенную функцию для каждой точки в изображении.

getSurfaceInformation()

bool pcl::RangeImage::getSurfaceInformation ( int x,
int y,
int radius,
const Eigen::Vector3f & point,
int no_of_closest_neighbors,
int step_size,
float & max_closest_neighbor_distance_squared,
Eigen::Vector3f & normal,
Eigen::Vector3f & mean,
Eigen::Vector3f & eigen_values,
Eigen::Vector3f * normal_all_neighbors = nullptr,
Eigen::Vector3f * mean_all_neighbors = nullptr,
Eigen::Vector3f * eigen_values_all_neighbors = nullptr
) const
inline

То же самое, что и выше, но извлекает больше данных и также может возвращать извлечённую информацию для всех соседей в радиусе, если normal_all_neighbors не NULL.

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

Ссылки на pcl::VectorAverage< real, dimension >::add(), pcl::geometry::distance(), pcl::VectorAverage< real, dimension >::doPCA(), pcl::VectorAverage< real, dimension >::getMean(), pcl::VectorAverage< real, dimension >::getNoOfSamples(), getPoint(), getSensorPos(), isValid(), и pcl::squaredEuclideanDistance().

Ссылка, на которую ссылается getNormalForClosestNeighbors().

getTransformationToRangeImageSystem()

const Eigen::Affine3f& pcl::RangeImage::getTransformationToRangeImageSystem ( ) const
inline

Получение преобразования из мировой системы в систему координат изображения диапазона (система координат датчика)

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

Ссылки на to_range_image_system_.

getTransformationToViewerCoordinateFrame() [1/2]

Eigen::Affine3f pcl::RangeImage::getTransformationToViewerCoordinateFrame ( const Eigen::Vector3f & point ) const
inline

Получение локальной системы координат с точкой 0,0,0 в точке, направлением вверх и Z как направлением просмотра.

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

Ссылка, на которую ссылается getSurfaceAngleChange().

getTransformationToViewerCoordinateFrame() [2/2]

void pcl::RangeImage::getTransformationToViewerCoordinateFrame ( const Eigen::Vector3f & point,
Eigen::Affine3f & transformation
) const
inline

Аналогично выше, но использует ссылку для возвращаемого значения.

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

Ссылки на getSensorPos() и pcl::getTransformationFromTwoUnitVectorsAndOrigin().

getTransformationToWorldSystem()

const Eigen::Affine3f& pcl::RangeImage::getTransformationToWorldSystem ( ) const
inline

Получение преобразования из системы координат изображения диапазона (системы координат датчика) в мировую систему.

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

Ссылки на to_world_system_.

getViewingDirection() [1/2]

void pcl::RangeImage::getViewingDirection ( const Eigen::Vector3f & point,
Eigen::Vector3f & viewing_direction
) const
inline

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

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

Ссылки на getSensorPos().

getViewingDirection() [2/2]

bool pcl::RangeImage::getViewingDirection ( int x,
int y,
Eigen::Vector3f & viewing_direction
) const
inline

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

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

Ссылки на getPoint(), getSensorPos() и isValid().

integrateFarRanges()

template<typename PointCloudType >
void pcl::RangeImage::integrateFarRanges ( const PointCloudType & far_ranges )

Интегрирует заданные измерения дальних расстояний в изображение дальности.

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

Ссылки на getImagePoint(), getPoint(), isInImage(), pcl_lrint и pcl::_PointWithRange::range.

isInImage()

bool pcl::RangeImage::isInImage ( int x,
int y
) const
inline

Проверить, находится ли точка внутри изображения.

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

Ссылки на pcl::PointCloud< PointWithRange >::height и pcl::PointCloud< PointWithRange >::width.

Используется в pcl::RangeImageBorderExtractor::changeScoreAccordingToShadowBorderValue(), pcl::RangeImageBorderExtractor::checkIfMaximum(), checkPoint(), pcl::RangeImageBorderExtractor::checkPotentialBorder(), doZBuffer(), getAcutenessValue(), getCurvature(), pcl::RangeImagePlanar::getImagePoint(), getImpactAngle(), getNormal(), getPoint(), getRangeDifference(), integrateFarRanges(), и pcl::RangeImageBorderExtractor::updatedScoreAccordingToNeighborValues().

isMaxRange()

bool pcl::RangeImage::isMaxRange ( int x,
int y
) const
inline

Проверить, является ли точка максимальным расстоянием (range=INFINITY) - пожалуйста, сначала проверьте isInImage или isObserved!

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

Ссылки на getPoint() и pcl::_PointWithRange::range.

Используется в pcl::RangeImageBorderExtractor::changeScoreAccordingToShadowBorderValue() и getSurfaceAngleChange().

isObserved()

bool pcl::RangeImage::isObserved ( int x,
int y
) const
inline

Проверить, находится ли точка внутри изображения и имеет ли она конечное значение дальности или максимальное значение (range=INFINITY).

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

Используется в getEuclideanDistanceSquared() и getSurfaceAngleChange().

isValid() [1/2]

bool pcl::RangeImage::isValid ( int index ) const
inline

Проверить, имеет ли точка конечное значение дальности.

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

isValid() [2/2]

bool pcl::RangeImage::isValid ( int x,
int y
) const
inline

Проверка, находится ли точка внутри изображения и имеет ли конечное значение дальности.

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

Используется в pcl::RangeImageBorderExtractor::calculateMainPrincipalCurvature(), get1dPointAverage(), getImpactAngleBasedOnLocalNormal(), getNormalForClosestNeighbors(), getSquaredDistanceOfNthNeighbor(), getSurfaceAngleChange(), getSurfaceInformation() и getViewingDirection().

makeShared()

Ptr pcl::RangeImage::makeShared ( )
inline

Получить boost shared указатель на копию этого объекта.

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

real2DToInt2D()

void pcl::RangeImage::real2DToInt2D ( float x,
float y,
int & xInt,
int & yInt
) const
inline

Преобразование точки изображения в формате с плавающей запятой в точку изображения в формате целых чисел.

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

Используется в doZBuffer(), getImagePoint() и getPoint().

recalculate3DPointPositions()

PCL_EXPORTS void pcl::RangeImage::recalculate3DPointPositions ( )

Перерасчет всех позиций 3D-точек в соответствии с их положением пикселя и дальностью.

Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize() и createFromPointCloudWithKnownSize().

reset()

PCL_EXPORTS void pcl::RangeImage::reset ( )

Сброс всех значений до пустого изображения дальности.

setAngularResolution() [1/2]

void pcl::RangeImage::setAngularResolution ( float angular_resolution )
inline

Установка углового разрешения изображения дальности.

Parameters
angular_resolution новое угловое разрешение в направлениях x и y (в радианах на пиксель)

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

Ссылки на angular_resolution_x_, angular_resolution_x_reciprocal_, angular_resolution_y_ и angular_resolution_y_reciprocal_.

Используется в createFromPointCloud() и createFromPointCloudWithKnownSize().

setAngularResolution() [2/2]

void pcl::RangeImage::setAngularResolution ( float angular_resolution_x,
float angular_resolution_y
)
inline

Установка углового разрешения изображения дальности.

Parameters
angular_resolution_x новое угловое разрешение по направлению x (в радианах на пиксель)
angular_resolution_y новое угловое разрешение по направлению y (в радианах на пиксель)

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

Ссылки на angular_resolution_x_, angular_resolution_x_reciprocal_, angular_resolution_y_ и angular_resolution_y_reciprocal_.

setImageOffsets()

void pcl::RangeImage::setImageOffsets ( int offset_x,
int offset_y
)
inline

Установка смещений изображения.

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

Ссылки на image_offset_x_ и image_offset_y_.

setTransformationToRangeImageSystem()

void pcl::RangeImage::setTransformationToRangeImageSystem ( const Eigen::Affine3f & to_range_image_system )
inline

Установка преобразования от системы координат изображения дальности (система координат датчика) к мировой системе координат.

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

Ссылки на to_range_image_system_ и to_world_system_.

setUnseenToMaxRange()

PCL_EXPORTS void pcl::RangeImage::setUnseenToMaxRange ( )

Устанавливает все значения -INFINITY в INFINITY.

Документация по данным членов

angular_resolution_x_

float pcl::RangeImage::angular_resolution_x_
protected

Угловое разрешение изображения дальности в направлении x в радианах на пиксель.

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

Используется в getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getAngularResolution(), getAngularResolutionX() и setAngularResolution().

angular_resolution_x_reciprocal_

float pcl::RangeImage::angular_resolution_x_reciprocal_
protected

1.0/angular_resolution_x_ - предоставлено для лучшей производительности умножения по сравнению с делением

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

Используется в pcl::RangeImagePlanar::calculate3DPoint(), createFromPointCloud(), createFromPointCloudWithKnownSize(), pcl::RangeImageSpherical::getImagePointFromAngles() и setAngularResolution().

angular_resolution_y_

float pcl::RangeImage::angular_resolution_y_
protected

Угловое разрешение изображения дальности в направлении y в радианах на пиксель.

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

Используется в getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getAngularResolution(), getAngularResolutionY() и setAngularResolution().

angular_resolution_y_reciprocal_

float pcl::RangeImage::angular_resolution_y_reciprocal_
protected

1.0/angular_resolution_y_ - предоставлено для лучшей производительности умножения по сравнению с делением

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

Используется в pcl::RangeImagePlanar::calculate3DPoint(), createFromPointCloud(), createFromPointCloudWithKnownSize(), pcl::RangeImageSpherical::getImagePointFromAngles() и setAngularResolution().

asin_lookup_table

std::vector<float> pcl::RangeImage::asin_lookup_table
staticprotected

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

Используется в asinLookUp().

atan_lookup_table

std::vector<float> pcl::RangeImage::atan_lookup_table
staticprotected

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

Используется в atan2LookUp().

cos_lookup_table

std::vector<float> pcl::RangeImage::cos_lookup_table
staticprotected

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

Используется в cosLookUp().

debug

bool pcl::RangeImage::debug
static

Только для...

ну... для отладки. :-)

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

image_offset_x_

int pcl::RangeImage::image_offset_x_
protected

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

Используется в pcl::RangeImagePlanar::calculate3DPoint(), createFromPointCloud(), createFromPointCloudWithKnownSize(), getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getImageOffsetX(), pcl::RangeImagePlanar::getImagePoint(), pcl::RangeImageSpherical::getImagePointFromAngles() и setImageOffsets().

image_offset_y_

int pcl::RangeImage::image_offset_y_
protected

Положение левого верхнего угла изображения дальности по сравнению с изображением полного размера (360x180 градусов)

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

Используется в pcl::RangeImagePlanar::calculate3DPoint(), createFromPointCloud(), createFromPointCloudWithKnownSize(), getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getImageOffsetY(), pcl::RangeImagePlanar::getImagePoint(), pcl::RangeImageSpherical::getImagePointFromAngles() и setImageOffsets().

lookup_table_size

const int pcl::RangeImage::lookup_table_size
staticprotected

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

Используется в asinLookUp(), atan2LookUp() и cosLookUp().

max_no_of_threads

int pcl::RangeImage::max_no_of_threads
static

Максимальное количество потоков openmp, которые могут быть использованы в этом классе.

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

to_range_image_system_

Eigen::Affine3f pcl::RangeImage::to_range_image_system_
protected

Обратная матрица к to_world_system_.

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

Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize(), createFromPointCloudWithKnownSize(), getImagePoint(), pcl::RangeImageSpherical::getImagePoint(), pcl::RangeImagePlanar::getImagePoint(), getTransformationToRangeImageSystem() и setTransformationToRangeImageSystem().

to_world_system_

Eigen::Affine3f pcl::RangeImage::to_world_system_
protected

Обратная матрица к to_range_image_system_.

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

Используется в calculate3DPoint(), pcl::RangeImageSpherical::calculate3DPoint(), pcl::RangeImagePlanar::calculate3DPoint(), createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize(), createFromPointCloudWithKnownSize(), getSensorPos(), getTransformationToWorldSystem() и setTransformationToRangeImageSystem().

unobserved_point

PointWithRange pcl::RangeImage::unobserved_point
protected

Эта точка используется для возможности возврата ссылки на несуществующую точку.

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

Используется в checkPoint(), createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize(), createFromPointCloudWithKnownSize(), get1dPointAverage() и getPoint().


The documentation for this class was generated from the following files:
  • pcl/range_image/range_image.h
  • pcl/range_image/impl/range_image.hpp

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

Spec-Zone.ru

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