Spec-Zone.ru › PointCloudLibrary

RangeImageSpherical происходит от исходного изображения диапазона и использует немного другую сферическую проекцию. Подробнее...

#include <pcl/range_image/range_image_spherical.h>

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

Общедоступные типы

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

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

PCL_EXPORTS RangeImageSpherical ()
Конструктор. Подробнее...
virtual PCL_EXPORTS ~RangeImageSpherical ()=default
Деструктор. Подробнее...
virtual RangeImage * getNew () const
Возвращает вновь созданный RangeImagePlanar. Подробнее...
Ptr makeShared ()
Получить указатель boost shared на копию этого объекта. Подробнее...
virtual void calculate3DPoint (float image_x, float image_y, float range, Eigen::Vector3f &point) const
Вычислить 3D точку в соответствии с заданной точкой изображения и расстоянием. Подробнее...
virtual void getImagePoint (const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
Вычислить точку изображения и расстояние от заданной 3D точки. Подробнее...
void getAnglesFromImagePoint (float image_x, float image_y, float &angle_x, float &angle_y) const
Получить углы, соответствующие заданной точке изображения. Подробнее...
void getImagePointFromAngles (float angle_x, float angle_y, float &image_x, float &image_y) const
Получить точку изображения, соответствующую заданным расстояниям. Подробнее...
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 точку в соответствии с заданной точкой изображения и значением расстояния в ближайшем пикселе. Подробнее...
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
То же самое, что и выше. Подробнее...
- Публичные члены-функции унаследованные от pcl::RangeImage
PCL_EXPORTS RangeImage ()
Конструктор. Подробнее...
virtual PCL_EXPORTS ~RangeImage ()=default
Деструктор. Подробнее...
Ptr makeShared ()
Получить boost shared указатель на копию этого. Подробнее...
PCL_EXPORTS void reset ()
Сбросить все значения на пустую картинку дальности. Подробнее...
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)
Создать изображение глубины из облака точек. Подробнее...
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)
Создать изображение глубины из облака точек. Подробнее...
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)
Создать изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчета. Подробнее...
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)
Создать изображение глубины из облака точек, получив подсказку о размере сцены для более быстрого расчета. Подробнее...
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 в радианах на пиксель. Подробнее...
float getAngularResolutionX () const
Получение углового разрешения растрового изображения в направлении X в радианах на пиксель. Подробнее...
float getAngularResolutionY () const
Получение углового разрешения растрового изображения в направлении Y в радианах на пиксель. Подробнее...
void getAngularResolution (float &angular_resolution_x, float &angular_resolution_y) const
Получение углового разрешения растрового изображения в направлениях X и Y (в радианах). Подробнее...
void setAngularResolution (float angular_resolution)
Установка углового разрешения растрового изображения. Подробнее...
void setAngularResolution (float angular_resolution_x, float angular_resolution_y)
Установка углового разрешения растрового изображения. Подробнее...
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 точку с дальностью по заданному индексу (индекс = y*ширина+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 точку по заданной точке изображения и значению дальности ближайшего пикселя. Подробнее...
void calculate3DPoint (float image_x, float image_y, Eigen::Vector3f &point) const
Вычисляет 3D точку по заданной точке изображения и значению дальности ближайшего пикселя. Подробнее...
PCL_EXPORTS void recalculate3DPointPositions ()
Пересчитывает все позиции 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
Проверка, находится ли точка внутри изображения и имеет ли конечное значение дальности или максимальное значение измерения (дальность=БЕСКОНЕЧНОСТЬ). Подробнее...
bool isMaxRange (int x, int y) const
Проверка, является ли точка максимальной дальностью (дальность=БЕСКОНЕЧНОСТЬ) - пожалуйста, сначала проверьте 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
То же самое, что и выше. Подробнее...
bool getNormalForClosestNeighbors (int x, int y, Eigen::Vector3f &normal, int radius=2) const
То же самое, что и выше, с использованием значений по умолчанию. Подробнее...
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. Подробнее...
float getSquaredDistanceOfNthNeighbor (int x, int y, int radius, int n, int step_size) const
float getImpactAngle (const PointWithRange &point1, const PointWithRange &point2) const
Вычисление угла падения на основе положения датчика и двух заданных точек - вернет -БЕСКОНЕЧНОСТЬ, если одна из точек не наблюдаема. Подробнее...
float getImpactAngle (int x1, int y1, int x2, int y2) const
То же, что и выше. Подробнее...
float getImpactAngleBasedOnLocalNormal (int x, int y, int radius) const
Извлечение локальной нормали (с эвристикой, чтобы не включать точки фона) и вычисление угла удара на основе этой нормали. Подробнее...
PCL_EXPORTS float * getImpactAngleImageBasedOnLocalNormals (int radius) const
Использует вышеуказанную функцию для каждой точки в изображении. Подробнее...
float getNormalBasedAcutenessValue (int x, int y, int radius) const
Вычисление оценки [0,1], которая показывает, насколько острый угол падения (1.0f - getImpactAngle/90 градусов) Это использует getImpactAngleBasedOnLocalNormal Возвращает -БЕСКОНЕЧНОСТЬ, если нормаль не может быть вычислена. Подробнее...
float getAcutenessValue (const PointWithRange &point1, const PointWithRange &point2) const
Вычисление оценки [0,1], которая показывает, насколько острый угол падения (1.0f - getImpactAngle/90 градусов) вернёт -БЕСКОНЕЧНОСТЬ, если одна из точек не наблюдается. Подробнее...
float getAcutenessValue (int x1, int y1, int x2, int y2) const
То же, что и выше. Подробнее...
PCL_EXPORTS void getAcutenessValueImages (int pixel_distance, float *&acuteness_value_image_x, float *&acuteness_value_image_y) const
Вычисление getAcutenessValue для каждой точки. Подробнее...
PCL_EXPORTS float getSurfaceChange (int x, int y, int radius) const
Вычисляет, насколько поверхность меняется в точке. Подробнее...
PCL_EXPORTS float * getSurfaceChangeImage (int radius) const
Использует вышеуказанную функцию для каждой точки в изображении. Подробнее...
void getSurfaceAngleChange (int x, int y, int radius, float &angle_change_x, float &angle_change_y) const
Вычисляет, насколько поверхность меняется в точке. Подробнее...
PCL_EXPORTS void getSurfaceAngleChangeImages (int radius, float *&angle_change_image_x, float *&angle_change_image_y) const
Использует вышеуказанную функцию для каждой точки в изображении. Подробнее...
float getCurvature (int x, int y, int radius, int step_size) const
Вычисляет кривизну в точке с помощью pca. Подробнее...
const Eigen::Vector3f getSensorPos () const
Получение положения датчика. Подробнее...
PCL_EXPORTS void setUnseenToMaxRange ()
Устанавливает все значения -БЕСКОНЕЧНОСТЬ на БЕСКОНЕЧНОСТЬ. Подробнее...
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
Вычисляет перекрытие двух изображений дальности, учитывая относительное преобразование (от заданного изображения к *этому) Подробнее...
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 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 (предполагаются значения с плавающей запятой) к указанным измерениям PointCloud. Подробнее...
const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > getMatrixXfMap (int dim, int stride, int offset) const
Возвращает сопоставленную матрицу Eigen::MatrixXf (предполагаются значения с плавающей запятой) к указанным измерениям 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)
Изменяет размер контейнера для размещения count элементов. Подробнее...
void resize (index_t new_width, index_t new_height, const PointWithRange &value)
Изменяет размер контейнера для размещения count элементов. Подробнее...
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
Скопировать облако в кучу и вернуть умный указатель Обратите внимание, что выполняется глубокая копия, поэтому избегайте использования этой функции для непустых облаков. Подробнее...

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

- Статические публичные методы, унаследованные от pcl::RangeImage
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)
- Публичные атрибуты, унаследованные от 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_
Положение датчика (вращение). Подробнее...
- Статические публичные атрибуты, унаследованные от pcl::RangeImage
static int max_no_of_threads
Максимальное количество потоков OpenMP, которые могут быть использованы в этом классе. Подробнее...
static bool debug
Просто для... Подробнее...
- Статические защищенные методы, унаследованные от pcl::RangeImage
static void createLookupTables ()
Создать таблицы поиска для тригонометрических функций. Подробнее...
static float asinLookUp (float value)
Получить значение из таблицы поиска asin. Подробнее...
static float atan2LookUp (float y, float x)
Получить значение из таблицы поиска std::atan2. Подробнее...
static float cosLookUp (float value)
Получить значение из таблицы поиска cos. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::RangeImage
Eigen::Affine3f to_range_image_system_
Обратное преобразование к системе координат изображения. Подробнее...
Eigen::Affine3f to_world_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
Эта точка используется для возможности возврата ссылки на несуществующую точку. Подробнее...
- Статические защищенные атрибуты, унаследованные от pcl::RangeImage
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

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

RangeImageSpherical происходит от исходного изображения дальности и использует несколько другую сферическую проекцию.

В исходном изображении дальности изображение будет всё больше "уменьшаться" вдоль оси y по мере удаления точки от средней линии изображения. Этот класс устраняет это масштабирование, что делает его особенно подходящим для вращающихся датчиков LIDAR, которые захватывают вид на 360°, так как поворот датчика теперь просто соответствует сдвигу изображения дальности. (Этот класс похож на RangeImagePlanar, но изменяет меньше поведения базового класса.)

Автор
Andreas Muetzel

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

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

BaseClass

using pcl::RangeImageSpherical::BaseClass = RangeImage

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

ConstPtr

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

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

Ptr

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

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

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

RangeImageSpherical()

PCL_EXPORTS pcl::RangeImageSpherical::RangeImageSpherical ( )
inline

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

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

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

~RangeImageSpherical()

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

Деструктор.

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

calculate3DPoint() [1/5]

void pcl::RangeImage::calculate3DPoint
inline

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

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

calculate3DPoint() [2/5]

void pcl::RangeImage::calculate3DPoint
inline

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

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

calculate3DPoint() [3/5]

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

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

Параметры
image_x координата x точки на изображении
image_y координата y точки на изображении
range дальность
point результирующая 3D точка
Примечание
Реализация согласно плоским изображениям дальности (в отличие от сферических в исходном коде)

Переопределено из pcl::RangeImage.

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

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

calculate3DPoint() [4/5]

void pcl::RangeImage::calculate3DPoint
inline

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

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

calculate3DPoint() [5/5]

void pcl::RangeImage::calculate3DPoint
inline

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

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

getAnglesFromImagePoint()

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

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

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

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

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

getImagePoint() [1/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [2/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [3/8]

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

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

Параметры
point результирующая 3D точка
image_x результирующая координата x точки на изображении
image_y результирующая координата y точки на изображении
range результирующая дальность
Примечание
Реализация согласно плоским изображениям дальности (в отличие от сферических в исходном коде)

Переопределено из pcl::RangeImage.

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

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

getImagePoint() [4/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [5/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [6/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [7/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePoint() [8/8]

void pcl::RangeImage::getImagePoint
inline

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

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

getImagePointFromAngles()

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

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

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

Ссылки на pcl::RangeImage::angular_resolution_x_reciprocal_, pcl::RangeImage::angular_resolution_y_reciprocal_, pcl::RangeImage::image_offset_x_, pcl::RangeImage::image_offset_y_ и M_PI.

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

getNew()

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

Возвращает новый RangeImagePlanar.

Реализация для возвращения изображения того же типа.

Переопределено из pcl::RangeImage.

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

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

makeShared()

Ptr pcl::RangeImageSpherical::makeShared ( )
inline

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

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


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

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

Spec-Zone.ru

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