RangeImageSpherical наследуется от исходного изображения дальности и использует несколько отличающуюся сферическую проекцию. Подробнее...
#include <pcl/range_image/range_image_spherical.h>
Публичные типы | |
| using | BaseClass = RangeImage |
| using | Ptr = shared_ptr< RangeImageSpherical > |
| using | ConstPtr = shared_ptr< const RangeImageSpherical > |
|
| |
| 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 > |
|
| |
| 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 на копию этого объекта. Подробнее... |
|
| 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 |
| Возвращает точку изображения по 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_EXPORTS | RangeImage () |
| Конструктор. Подробнее... |
|
| virtual PCL_EXPORTS | ~RangeImage () |
| Деструктор. Подробнее... |
|
| Ptr | makeShared () |
| Возвращает общий указатель Boost на копию этого объекта. Подробнее... |
|
| 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)). Подробнее... |
|
| 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)). Подробнее... |
|
| 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)) |
| Создает пустое изображение глубины (заполненное ненаблюдаемыми точками). Подробнее... |
|
| 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)) |
| Создает пустое изображение глубины (заполненное ненаблюдаемыми точками). Подробнее... |
|
| template<typename PointCloudType > | |
| void | doZBuffer (const PointCloudType &point_cloud, float noise_level, float min_range, int &top, int &right, int &bottom, int &left) |
| Интегрирует заданное облако точек в текущее изображение дальности с помощью Z-буфера. Подробнее... |
|
| template<typename PointCloudType > | |
| void | integrateFarRanges (const PointCloudType &far_ranges) |
| Интегрирует заданные измерения больших дальностей в изображение дальности. Подробнее... |
|
| PCL_EXPORTS void | cropImage (int border_size=0, int top=-1, int right=-1, int bottom=-1, int left=-1) |
| Обрезать изображение дальности до минимального размера, который всё ещё содержит все фактические измерения дальности. Подробнее... |
|
| PCL_EXPORTS float * | getRangesArray () const |
| Получить все значения дальности в одном массиве float размером width*height. Подробнее... |
|
| const Eigen::Affine3f & | getTransformationToRangeImageSystem () const |
| Получить преобразование из мировой системы координат в систему координат изображения дальности (систему координат датчика). Подробнее... |
|
| void | setTransformationToRangeImageSystem (const Eigen::Affine3f &to_range_image_system) |
| Задать преобразование из системы координат изображения дальности (системы координат датчика) в мировую систему координат. Подробнее... |
|
| const Eigen::Affine3f & | getTransformationToWorldSystem () const |
| Получить преобразование из системы координат изображения дальности (системы координат датчика) в мировую систему координат. Подробнее... |
|
| 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-точку с дальностью по указанному индексу (где 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-точку по заданной точке изображения и значению дальности в ближайшем пикселе. Подробнее... |
|
| 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 |
| Преобразует координаты точки изображения с типом float в координаты точки изображения с типом int. Подробнее... |
|
| 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 |
| То же, что и выше. Подробнее... |
|
| 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 |
| Вычисляет угол падения на основе положения датчика и двух заданных точек — возвращает -INFINITY, если одна из точек не наблюдается. Подробнее... |
|
| 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/90deg). Использует getImpactAngleBasedOnLocalNormal. Возвращает -INFINITY, если вычислить нормаль не удалось. Подробнее... |
|
| float | getAcutenessValue (const PointWithRange &point1, const PointWithRange &point2) const |
| Вычисляет оценку [0,1], показывающую, насколько острым является угол падения (1.0f - getImpactAngle/90deg); возвращает -INFINITY, если одна из точек не наблюдается. Подробнее... |
|
| float | getAcutenessValue (int x1, int y1, int x2, int y2) const |
| То же, что и выше. Подробнее... |
|
| PCL_EXPORTS void | getAcutenessValueImages (int pixel_distance, float *´ness_value_image_x, float *´ness_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 () |
| Заменяет все значения -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 () |
| Эта функция обнуляет позу датчика и преобразует координаты всех точек в эту локальную систему координат. Подробнее... |
|
| 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 |
| Возвращает локальную систему координат с началом в точке point, вертикальной осью и осью 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 void | copyTo (RangeImage &other) const |
| Копировать other в *this. Подробнее... |
|
|
| |
| 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) |
| Возвращает матрицу MatrixXf библиотеки Eigen (предполагаются значения типа float), отображенную на указанные измерения облака точек. Подробнее... |
|
| const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > | getMatrixXfMap (int dim, int stride, int offset) const |
| Возвращает матрицу MatrixXf библиотеки Eigen (предполагаются значения типа float), отображенную на указанные измерения облака точек. Подробнее... |
|
| 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 |
| Копирует облако в динамическую память и возвращает интеллектуальный указатель. Обратите внимание, что выполняется глубокое копирование, поэтому не следует использовать эту функцию для непустых облаков. Подробнее... |
|
Дополнительные унаследованные элементы | |
|
| |
| static float | getMaxAngleSize (const Eigen::Affine3f &viewer_pose, const Eigen::Vector3f ¢er, 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. Подробнее... |
|
|
| |
| 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::PCLHeader | header |
| Заголовок облака точек. Подробнее... |
|
| std::vector< PointWithRange, Eigen::aligned_allocator< PointWithRange > > | points |
| Данные точек. Подробнее... |
|
| std::uint32_t | width |
| Ширина облака точек (если оно организовано как изображение). Подробнее... |
|
| std::uint32_t | height |
| Высота облака точек (если оно организовано как изображение). Подробнее... |
|
| bool | is_dense |
| Значение true, если все точки корректны (например, ни одно из их полей с плавающей точкой не содержит значений NaN или Inf). Подробнее... |
|
| Eigen::Vector4f | sensor_origin_ |
| Положение датчика при съёмке (начало координат/перенос). Подробнее... |
|
| Eigen::Quaternionf | sensor_orientation_ |
| Положение датчика при съёмке (вращение). Подробнее... |
|
|
| |
| 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_ {0.0f} |
| Угловое разрешение изображения расстояний по оси x в радианах на пиксель. Подробнее... |
|
| float | angular_resolution_y_ {0.0f} |
| Угловое разрешение изображения расстояний по оси y в радианах на пиксель. Подробнее... |
|
| float | angular_resolution_x_reciprocal_ {0.0f} |
| 1.0/angular_resolution_x_ — используется для повышения производительности умножения по сравнению с делением Подробнее... |
|
| float | angular_resolution_y_reciprocal_ {0.0f} |
| 1.0/angular_resolution_y_ — используется для повышения производительности умножения по сравнению с делением Подробнее... |
|
| int | image_offset_x_ {0} |
| int | image_offset_y_ {0} |
| Положение верхнего левого угла изображения расстояний относительно изображения полного размера (360x180 градусов). Подробнее... |
|
| PointWithRange | unobserved_point |
| Эта точка позволяет вернуть ссылку на несуществующую точку. Подробнее... |
|
|
| |
| static PCL_EXPORTS const int | lookup_table_size |
| static PCL_EXPORTS std::vector< float > | asin_lookup_table |
| static PCL_EXPORTS std::vector< float > | atan_lookup_table |
| static PCL_EXPORTS std::vector< float > | cos_lookup_table |
Подробное описание
RangeImageSpherical является производным классом исходного изображения расстояний и использует несколько отличающуюся сферическую проекцию.
В исходном изображении расстояний оно выглядит всё более «уменьшенным» вдоль оси y по мере удаления точки от средней линии изображения. Этот класс устраняет такое масштабирование, что делает его особенно подходящим для вращающихся датчиков LIDAR, захватывающих обзор на 360°: теперь вращение датчика будет соответствовать простому сдвигу изображения расстояний. (Этот класс похож на RangeImagePlanar, но в меньшей степени изменяет поведение базового класса.)
Определение в строке 50 файла range_image_spherical.h.
Документация по псевдонимам типов-членов
BaseClass
Определение в строке 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()
| inline |
~RangeImageSpherical()
| virtualdefault |
Деструктор.
Документация функций-членов
calculate3DPoint() [1/5]
| inline |
Вычисляет 3D-точку по заданной точке изображения и значению расстояния в ближайшем пикселе.
Определение в строке 445 файла range_image.hpp.
calculate3DPoint() [2/5]
| inline |
Вычисляет 3D-точку по заданной точке изображения и расстоянию.
Определение в строке 442 файла range_image.hpp.
calculate3DPoint() [3/5]
| 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]
| inline |
Вычисляет 3D-точку по заданной точке изображения и расстоянию.
Определение в строке 435 файла range_image.hpp.
calculate3DPoint() [5/5]
| inline |
Вычисляет 3D-точку по заданной точке изображения и значению расстояния в ближайшем пикселе.
Определение в строке 438 файла range_image.hpp.
getAnglesFromImagePoint()
| 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]
| inline |
То же, что и выше.
Определение в строке 461 файла range_image.hpp.
getImagePoint() [2/8]
| inline |
Получает точку изображения по 3D-точке в мировых координатах.
Определение в строке 453 файла range_image.hpp.
getImagePoint() [3/8]
| 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]
| inline |
То же, что и выше.
Определение в строке 465 файла range_image.hpp.
getImagePoint() [5/8]
| inline |
То же, что и выше.
Определение в строке 457 файла range_image.hpp.
getImagePoint() [6/8]
| inline |
То же, что и выше.
Определение в строке 473 файла range_image.hpp.
getImagePoint() [7/8]
| inline |
То же, что и выше.
Определение в строке 469 файла range_image.hpp.
getImagePoint() [8/8]
| inline |
То же, что и выше.
Определение в строке 477 файла range_image.hpp.
getImagePointFromAngles()
| 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()
| inlinevirtual |
Возвращает вновь созданный объект RangeImagePlanar.
Повторная реализация для возврата изображения того же типа.
Повторно реализовано из pcl::RangeImage.
Определение в строке 67 файла range_image_spherical.h.
Ссылается на RangeImageSpherical().
makeShared()
| inline |
Получает разделяемый указатель boost на копию этого объекта.
Определение в строке 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