RangeImage происходит от pcl/PointCloud и предоставляет функциональность, ориентированную на ситуации, когда 3D сцена была захвачена с определенной точки зрения. Подробнее...
#include <pcl/range_image/range_image.h>
Публичные типы | |
| перечисление | 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 > |
|
| |
| используя | 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 *´ness_value_image_x, float *´ness_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. Подробнее... |
|
|
| |
| 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 ¢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) |
Статические публичные атрибуты | |
| 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::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-сцена была захвачена с определенной точки зрения.
Определение в строке 54 файла range_image.h.
Документация по типам данных членов
BaseClass
Определение в строке 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
| Перечислитель | |
|---|---|
| CAMERA_FRAME | |
| LASER_FRAME | |
Определение в строке 63 файла range_image.h.
Документация по конструкторам и деструктору
RangeImage()
| PCL_EXPORTS pcl::RangeImage::RangeImage | ( | ) |
Конструктор.
Ссылка на getNew().
~RangeImage()
| virtualdefault |
Деструктор.
Документация по членам-функциям
asinLookUp()
| inlinestaticprotected |
Запрос таблицы поиска asin.
Определение в строке 54 файла range_image.hpp.
Ссылки на asin_lookup_table, lookup_table_size и pcl_lrintf.
Используется в getImagePoint() и pcl::RangeImageSpherical::getImagePoint().
atan2LookUp()
| inlinestaticprotected |
Запрос таблицы поиска std::atan2.
Определение в строке 64 файла range_image.hpp.
Ссылки на atan_lookup_table, lookup_table_size, M_PI и pcl_lrintf.
Используется в getImagePoint() и pcl::RangeImageSpherical::getImagePoint().
calculate3DPoint() [1/4]
| inline |
Вычисление 3D-точки в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе.
Определение в строке 584 файла range_image.hpp.
Ссылки на calculate3DPoint(), getPoint() и pcl::_PointWithRange::range.
calculate3DPoint() [2/4]
| inlinevirtual |
Вычисление 3D-точки в соответствии с заданной точкой изображения и дальностью.
Переопределено в pcl::RangeImagePlanar и pcl::RangeImageSpherical.
Определение в строке 571 файла range_image.hpp.
Ссылки на getAnglesFromImagePoint() и to_world_system_.
calculate3DPoint() [3/4]
| inline |
Вычисление 3D-точки в соответствии с заданной точкой изображения и дальностью.
Определение в строке 592 файла range_image.hpp.
Ссылки на pcl::_PointWithRange::range.
Используется в calculate3DPoint() и pcl::RangeImageBorderExtractor::get3dDirection().
calculate3DPoint() [4/4]
| inline |
Вычисление 3D-точки в соответствии с заданной точкой изображения и значением дальности в ближайшем пикселе.
Определение в строке 601 файла range_image.hpp.
Ссылки на calculate3DPoint(), getPoint() и pcl::_PointWithRange::range.
change3dPointsToLocalCoordinateFrame()
| PCL_EXPORTS void pcl::RangeImage::change3dPointsToLocalCoordinateFrame | ( | ) |
Эта функция устанавливает положение датчика в 0 и преобразует все позиции точек в эту локальную систему координат.
checkPoint()
| inline |
point_in_image будет точкой на изображении в позиции, где находилась бы данная точка.
Возвращает дальность указанной точки.
Определение в строке 401 файла range_image.hpp.
Ссылки на getImagePoint(), getPoint(), isInImage() и unobserved_point.
copyTo()
| virtual |
Скопировать содержимое other в *this.
Необходимо для использования в виртуальных функциях, которым требуется копирование производных классов RangeImage (таких как RangeImagePlanar)
Переопределено в pcl::RangeImagePlanar.
cosLookUp()
| 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]
| 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]
| 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]
| 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]
| 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]
| 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]
| 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()
| 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()
| 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 |
Проверить, содержит ли предоставленные данные дальние диапазоны, и добавить их в far_ranges.
- Параметры
-
point_cloud_data сообщение PCLPointCloud2, содержащее входное облако far_ranges результирующее облако, содержащее точки с дальними диапазонами
get1dPointAverage()
| 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]
| inline |
Вычислить оценку [0,1], которая показывает, насколько острый угол падения (1.0f - getImpactAngle/90 градусов) вернет -INFINITY, если одна из точек не была просмотрена.
Определение в строке 659 файла range_image.hpp.
Ссылки на getImpactAngle(), и M_PI.
Используется в getAcutenessValue().
getAcutenessValue() [2/2]
| 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()
| inline |
Получение углов, соответствующих данной точке изображения.
Определение в строке 609 файла range_image.hpp.
Ссылки на angular_resolution_x_, angular_resolution_y_, image_offset_x_, image_offset_y_ и M_PI.
Используется в calculate3DPoint().
getAngularResolution() [1/2]
| inline |
Получение углового разрешения облака точек в направлении x в радианах на пиксель.
Предоставлено для обратной совместимости
Определение в строке 352 файла range_image.h.
Ссылки на angular_resolution_x_.
getAngularResolution() [2/2]
| inline |
Получение углового разрешения облака точек в направлениях x и y (в радианах).
Определение в строке 1221 файла range_image.hpp.
Ссылки на angular_resolution_x_ и angular_resolution_y_.
getAngularResolutionX()
| inline |
Получение углового разрешения облака точек в направлении x в радианах на пиксель.
Определение в строке 356 файла range_image.h.
Ссылки на angular_resolution_x_.
Используется в pcl::operator<<().
getAngularResolutionY()
| inline |
Получение углового разрешения облака точек в направлении y в радианах на пиксель.
Определение в строке 360 файла range_image.h.
Ссылки на angular_resolution_y_.
Используется в pcl::operator<<().
getAverageEuclideanDistance()
| inline |
Выполнение вышеперечисленного для нескольких шагов в заданном направлении и усреднение.
Определение в строке 864 файла range_image.hpp.
Ссылки на getEuclideanDistanceSquared().
getAverageViewPoint()
| static |
Получить среднюю точку обзора облака точек, где каждая точка содержит информацию о точке обзора как vp_x, vp_y, vp_z.
- Parameters
-
point_cloud входное облако точек
- Returns
- средняя точка обзора (как Eigen::Vector3f)
Определение в строке 1133 файла range_image.hpp.
Используется в createFromPointCloudWithViewpoints().
getBlurredImage()
| 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 |
Получить преобразование, которое преобразует заданную систему координат в систему координат CAMERA_FRAME.
- Parameters
-
coordinate_frame входная система координат transformation результирующее преобразование, преобразующее coordinate_frame в CAMERA_FRAME
Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize() и createFromPointCloudWithKnownSize().
getCurvature()
| 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]
| inlinestatic |
Получить Eigen::Vector3f из PointWithRange.
- Parameters
-
point входная точка
- Returns
- представление входной точки в виде Eigen::Vector3f
Определение в строке 802 файла range_image.hpp.
Используется в getImpactAngleBasedOnLocalNormal().
getEigenVector3f() [2/3]
| inline |
getEigenVector3f() [3/3]
| inline |
getEuclideanDistanceSquared()
| inline |
Получить квадрат расстояния по Евклиду между двумя точками изображения.
Возвращает -INFINITY, если одна из точек не была наблюдаема.
Определение в строке 849 файла range_image.hpp.
Ссылки на getPoint(), isObserved(), pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().
Используется в getAverageEuclideanDistance().
getHalfImage()
| virtual |
Получить изображение с разрешением в половину.
Переопределено в pcl::RangeImagePlanar.
getImageOffsetX()
| inline |
Получить значение image_offset_x_.
Определение в строке 630 файла range_image.h.
Ссылки на image_offset_x_.
getImageOffsetY()
| inline |
Получить значение image_offset_y_.
Определение в строке 633 файла range_image.h.
Ссылки на image_offset_y_.
getImagePoint() [1/7]
| inline |
getImagePoint() [2/7]
| 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]
| inline |
То же самое, что и выше.
Определение в строке 392 файла range_image.hpp.
Ссылки на getImagePoint() и real2DToInt2D().
getImagePoint() [4/7]
| inline |
То же самое, что и выше.
Определение в строке 376 файла range_image.hpp.
Ссылки на getImagePoint() и real2DToInt2D().
getImagePoint() [5/7]
| inline |
getImagePoint() [6/7]
| inline |
getImagePoint() [7/7]
| inline |
То же самое, что и выше.
Определение в строке 348 файла range_image.hpp.
Ссылки на getImagePoint() и real2DToInt2D().
getImagePointFromAngles()
| inline |
Получить точку изображения, соответствующую заданным углам.
Определение в строке 434 файла range_image.hpp.
Ссылка на getImagePoint().
getImpactAngle() [1/2]
| inline |
Вычисление угла удара на основе положения датчика и двух заданных точек — вернет -INFINITY, если одна из точек не наблюдается.
Определение в строке 627 файла range_image.hpp.
Ссылки на M_PI, pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().
Используется в getAcutenessValue() и getImpactAngle().
getImpactAngle() [2/2]
| inline |
То же самое, что и выше.
Определение в строке 618 файла range_image.hpp.
Ссылки на getImpactAngle(), getPoint() и isInImage().
getImpactAngleBasedOnLocalNormal()
| 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()
| 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()
| inlinevirtual |
Возвратить только что созданное изображение Range.
Может быть переопределен в производных классах, таких как RangeImagePlanar, чтобы вернуть изображение того же типа.
Переопределено в pcl::RangeImagePlanar и pcl::RangeImageSpherical.
Определение в строке 749 файла range_image.h.
Ссылки на RangeImage().
getNormal()
| 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()
| 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]
| inline |
То же самое, что выше, с использованием значений по умолчанию.
Определение в строке 952 файла range_image.hpp.
Ссылки на getNormalForClosestNeighbors(), getPoint() и isValid().
getNormalForClosestNeighbors() [2/3]
| inline |
То же самое, что выше.
Определение в строке 1089 файла range_image.hpp.
Ссылки на getSurfaceInformation().
getNormalForClosestNeighbors() [3/3]
| 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]
| inline |
Версия метода без const.
Определение в строке 533 файла range_image.hpp.
Ссылается на getPoint() и real2DToInt2D().
getPoint() [2/7]
| inline |
Возвращает 3D точку с дальностью в заданной позиции изображения.
Определение в строке 524 файла range_image.hpp.
Ссылается на getPoint() и real2DToInt2D().
getPoint() [3/7]
| inline |
Версия метода без const для getPoint.
Определение в строке 509 файла range_image.hpp.
Ссылается на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.
getPoint() [4/7]
| 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]
| inline |
getPoint() [6/7]
| inline |
Возвращает 3D точку с дальностью по заданному индексу (индекс = y*ширина+x)
Определение в строке 517 файла range_image.hpp.
Ссылки на pcl::PointCloud< PointWithRange >::points.
getPoint() [7/7]
| inline |
getPointNoCheck() [1/2]
| inline |
Непостоянная версия getPointNoCheck.
Определение в строке 502 файла range_image.hpp.
Ссылки на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.
getPointNoCheck() [2/2]
| inline |
Возвращает 3D точку с дальностью по заданным координатам изображения.
Этот метод не проверяет, находится ли указанная позиция изображения внутри изображения!
- Параметры
-
image_x координата x image_y координата y
- Возвращает
- точку в указанной позиции (программа может выйти из строя, если позиция находится за пределами границ изображения)
Определение в строке 495 файла range_image.hpp.
Ссылки на pcl::PointCloud< PointWithRange >::points и pcl::PointCloud< PointWithRange >::width.
Используется в get1dPointAverage() и getSquaredDistanceOfNthNeighbor().
getRangeDifference()
| 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()
| inline |
Аналогично вышесказанному, но возвращает только вращение.
Определение в строке 1187 файла range_image.hpp.
Ссылки на getSensorPos() и pcl::getTransformationFromTwoUnitVectors().
getSensorPos()
| inline |
Получить положение сенсора.
Определение в строке 683 файла range_image.hpp.
Ссылки на to_world_system_.
Используется в pcl::RangeImageBorderExtractor::get3dDirection(), getImpactAngleBasedOnLocalNormal(), getNormal(), getRotationToViewerCoordinateFrame(), getSurfaceInformation(), getTransformationToViewerCoordinateFrame() и getViewingDirection().
getSquaredDistanceOfNthNeighbor()
| inline |
Определение в строке 1059 файла range_image.hpp.
Ссылки на getPoint(), getPointNoCheck(), isValid(), pcl::_PointWithRange::range и pcl::squaredEuclideanDistance().
getSubImage()
| 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()
| 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()
| 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()
| inline |
Получение преобразования из мировой системы в систему координат изображения диапазона (система координат датчика)
Определение в строке 337 файла range_image.h.
Ссылки на to_range_image_system_.
getTransformationToViewerCoordinateFrame() [1/2]
| inline |
Получение локальной системы координат с точкой 0,0,0 в точке, направлением вверх и Z как направлением просмотра.
Определение в строке 1170 файла range_image.hpp.
Ссылка, на которую ссылается getSurfaceAngleChange().
getTransformationToViewerCoordinateFrame() [2/2]
| inline |
Аналогично выше, но использует ссылку для возвращаемого значения.
Определение в строке 1179 файла range_image.hpp.
Ссылки на getSensorPos() и pcl::getTransformationFromTwoUnitVectorsAndOrigin().
getTransformationToWorldSystem()
| inline |
Получение преобразования из системы координат изображения диапазона (системы координат датчика) в мировую систему.
Определение в строке 347 файла range_image.h.
Ссылки на to_world_system_.
getViewingDirection() [1/2]
| inline |
Получение направления просмотра для данной точки.
Определение в строке 1163 файла range_image.hpp.
Ссылки на getSensorPos().
getViewingDirection() [2/2]
| inline |
Получить направление просмотра для заданной точки.
Определение в строке 1153 файла range_image.hpp.
Ссылки на getPoint(), getSensorPos() и isValid().
integrateFarRanges()
| void pcl::RangeImage::integrateFarRanges | ( | const PointCloudType & | far_ranges | ) |
Интегрирует заданные измерения дальних расстояний в изображение дальности.
Определение в строке 1229 файла range_image.hpp.
Ссылки на getImagePoint(), getPoint(), isInImage(), pcl_lrint и pcl::_PointWithRange::range.
isInImage()
| 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()
| inline |
Проверить, является ли точка максимальным расстоянием (range=INFINITY) - пожалуйста, сначала проверьте isInImage или isObserved!
Определение в строке 478 файла range_image.hpp.
Ссылки на getPoint() и pcl::_PointWithRange::range.
Используется в pcl::RangeImageBorderExtractor::changeScoreAccordingToShadowBorderValue() и getSurfaceAngleChange().
isObserved()
| inline |
Проверить, находится ли точка внутри изображения и имеет ли она конечное значение дальности или максимальное значение (range=INFINITY).
Определение в строке 471 файла range_image.hpp.
Используется в getEuclideanDistanceSquared() и getSurfaceAngleChange().
isValid() [1/2]
| inline |
Проверить, имеет ли точка конечное значение дальности.
Определение в строке 464 файла range_image.hpp.
isValid() [2/2]
| inline |
Проверка, находится ли точка внутри изображения и имеет ли конечное значение дальности.
Определение в строке 457 файла range_image.hpp.
Используется в pcl::RangeImageBorderExtractor::calculateMainPrincipalCurvature(), get1dPointAverage(), getImpactAngleBasedOnLocalNormal(), getNormalForClosestNeighbors(), getSquaredDistanceOfNthNeighbor(), getSurfaceAngleChange(), getSurfaceInformation() и getViewingDirection().
makeShared()
| inline |
Получить boost shared указатель на копию этого объекта.
Определение в строке 124 файла range_image.h.
real2DToInt2D()
| 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]
| 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]
| 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()
| inline |
Установка смещений изображения.
Определение в строке 637 файла range_image.h.
Ссылки на image_offset_x_ и image_offset_y_.
setTransformationToRangeImageSystem()
| inline |
Установка преобразования от системы координат изображения дальности (система координат датчика) к мировой системе координат.
Определение в строке 1213 файла range_image.hpp.
Ссылки на to_range_image_system_ и to_world_system_.
setUnseenToMaxRange()
| PCL_EXPORTS void pcl::RangeImage::setUnseenToMaxRange | ( | ) |
Устанавливает все значения -INFINITY в INFINITY.
Документация по данным членов
angular_resolution_x_
| protected |
Угловое разрешение изображения дальности в направлении x в радианах на пиксель.
Определение в строке 770 файла range_image.h.
Используется в getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getAngularResolution(), getAngularResolutionX() и setAngularResolution().
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_
| protected |
Угловое разрешение изображения дальности в направлении y в радианах на пиксель.
Определение в строке 771 файла range_image.h.
Используется в getAnglesFromImagePoint(), pcl::RangeImageSpherical::getAnglesFromImagePoint(), getAngularResolution(), getAngularResolutionY() и setAngularResolution().
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
| staticprotected |
Определение в строке 786 файла range_image.h.
Используется в asinLookUp().
atan_lookup_table
| staticprotected |
Определение в строке 787 файла range_image.h.
Используется в atan2LookUp().
cos_lookup_table
| staticprotected |
Определение в строке 788 файла range_image.h.
Используется в cosLookUp().
debug
| static |
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_
| 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
| staticprotected |
Определение в строке 785 файла range_image.h.
Используется в asinLookUp(), atan2LookUp() и cosLookUp().
max_no_of_threads
| static |
Максимальное количество потоков openmp, которые могут быть использованы в этом классе.
Определение в строке 78 файла range_image.h.
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_
| 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
| 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