RangeImage является производным от pcl/PointCloud и предоставляет функциональность, ориентированную на ситуации, когда 3D-сцена была снята с определённой точки обзора. Подробнее...
#include <pcl/range_image/range_image.h>
Открытые типы | |
| 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 | 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-точку по заданной точке изображения и значению дальности ближайшего пикселя. Подробнее... |
|
| 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 |
| Получает точку изображения по 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 |
| То же, что и выше. Подробнее... |
|
| 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 |
| Вычисляет кривизну в точке с помощью метода главных компонент. Подробнее... |
|
| 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 |
| Получить локальную систему координат с началом в точке 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 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 |
| Возвращает true, если набор данных организован (например, представлен в виде структурированной сетки). Подробнее... |
|
| 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) |
Статические общедоступные атрибуты | |
| 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 |
Дополнительные унаследованные элементы | |
|
| |
| 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()
| virtual |
Деструктор.
Документация методов класса
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]
|
|
change3dPointsToLocalCoordinateFrame()
| PCL_EXPORTS void pcl::RangeImage::change3dPointsToLocalCoordinateFrame | ( | ) |
Эта функция обнуляет положение датчика и преобразует координаты всех точек в эту локальную систему координат.
checkPoint()
| inline |
point_in_image будет точкой изображения в позиции, соответствующей заданной точке.
Возвращает дальность до заданной точки.
Определение в строке 401 файла range_image.hpp.
Ссылки: getImagePoint(), getPoint(), isInImage() и unobserved_point.
copyTo()
| virtual |
Копирует other в *this.
Необходимо для использования в виртуальных функциях, которым требуется копировать производные классы RangeImage (например, RangeImagePlanar).
Переопределён в pcl::RangeImagePlanar.
cosLookUp()
| inlinestaticprotected |
Обращается к таблице поиска cos.
Определение в строке 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) | ||
| ) |
Создаёт пустое изображение глубины (заполненное ненаблюдаемыми точками).
- Параметры
-
[in] angular_resolution угол (в радианах) между соседними отсчётами изображения глубины [in] sensor_pose аффинная матрица, задающая положение датчика (по умолчанию Eigen::Affine3f::Identity () ) [in] coordinate_frame система координат (по умолчанию CAMERA_FRAME) [in] angle_width угол (в радианах), задающий горизонтальные границы датчика (по умолчанию 2*pi (360 градусов)) [in] angle_height угол (в радианах), задающий вертикальные границы датчика (по умолчанию pi (180 градусов))
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) | ||
| ) |
Создаёт пустое изображение глубины (заполненное ненаблюдаемыми точками).
- Параметры
-
angular_resolution_x угловая разница (в радианах) между отдельными пикселями изображения вдоль направления x angular_resolution_y угловая разница (в радианах) между отдельными пикселями изображения вдоль направления y [in] sensor_pose аффинная матрица, задающая положение датчика (по умолчанию Eigen::Affine3f::Identity () ) [in] coordinate_frame система координат (по умолчанию CAMERA_FRAME) [in] angle_width угол (в радианах), задающий горизонтальные границы датчика (по умолчанию 2*pi (360 градусов)) [in] angle_height угол (в радианах), задающий вертикальные границы датчика (по умолчанию pi (180 градусов))
createFromPointCloud() [1/2]
| void pcl::RangeImage::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 (), | ||
| RangeImage::CoordinateFrame |
coordinate_frame = CAMERA_FRAME, | ||
| float |
noise_level = 0.0f, | ||
| float |
min_range = 0.0f, | ||
| int |
border_size = 0 | ||
| ) |
Создаёт изображение глубины на основе облака точек.
- Параметры
-
point_cloud входное облако точек angular_resolution угловая разница (в радианах) между отдельными пикселями изображения max_angle_width угол (в радианах), задающий горизонтальные границы датчика max_angle_height угол (в радианах), задающий вертикальные границы датчика 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(), чтобы отключить обрезку.
Определение в строке 98 файла range_image.hpp.
Используется в createFromPointCloudWithKnownSize() и createFromPointCloudWithViewpoints().
createFromPointCloud() [2/2]
| void pcl::RangeImage::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 (), | ||
| 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 max_angle_width угол (в радианах), задающий горизонтальные границы датчика max_angle_height угол (в радианах), задающий вертикальные границы датчика 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(), чтобы отключить обрезку.
Определение в строке 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 и 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.
Возвращает точку с максимальной дальностью (range=INFINITY), если первая точка имеет максимальную дальность, и ненаблюдаемую точку (range=-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/90deg); возвращает -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]
| float pcl::RangeImage::getAngularResolution | ( | ) | const |
Метод получения углового разрешения изображения расстояний по оси x в радианах на пиксель.
Предоставлен для обратной совместимости
Определение в строке 352 файла range_image.h.
Ссылка: angular_resolution_x_.
getAngularResolution() [2/2]
| void pcl::RangeImage::getAngularResolution | ( | float & | angular_resolution_x, |
| float & | angular_resolution_y | ||
| ) | const |
Метод получения углового разрешения изображения расстояний по осям x и y (в радианах).
Определение в строке 1221 файла range_image.hpp.
Ссылки: angular_resolution_x_ и angular_resolution_y_.
getAngularResolutionX()
| float pcl::RangeImage::getAngularResolutionX | ( | ) | const |
Метод получения углового разрешения изображения расстояний по оси x в радианах на пиксель.
Определение в строке 356 файла range_image.h.
Ссылка: angular_resolution_x_.
Используется в: pcl::operator<<().
getAngularResolutionY()
| float pcl::RangeImage::getAngularResolutionY | ( | ) | const |
Метод получения углового разрешения изображения расстояний по оси y в радианах на пиксель.
Определение в строке 360 файла range_image.h.
Ссылка: angular_resolution_y_.
Используется в: pcl::operator<<().
getAverageEuclideanDistance()
| float pcl::RangeImage::getAverageEuclideanDistance | ( | int | x, |
| int | y, | ||
| int | offset_x, | ||
| int | offset_y, | ||
| int | max_steps | ||
| ) | const |
Выполняет описанное выше для нескольких шагов в заданном направлении и вычисляет среднее значение.
Определение в строке 864 файла range_image.hpp.
Ссылка: getEuclideanDistanceSquared().
getAverageViewPoint()
| static |
Возвращает среднюю точку обзора облака точек, в котором каждая точка содержит информацию о точке обзора в виде vp_x, vp_y, vp_z.
- Параметры
-
point_cloud входное облако точек
- Возвращаемое значение
- средняя точка обзора (в виде Eigen::Vector3f)
Определение в строке 1133 файла range_image.hpp.
Используется в: createFromPointCloudWithViewpoints().
getBlurredImage()
| virtual PCL_EXPORTS void pcl::RangeImage::getBlurredImage | ( | int | blur_radius, |
| RangeImage & | range_image | ||
| ) | const |
Возвращает размытую версию изображения расстояний, используя фильтры усреднения.
getBlurredImageUsingIntegralImage()
| PCL_EXPORTS void pcl::RangeImage::getBlurredImageUsingIntegralImage | ( | int | blur_radius, |
| float * | integral_image, | ||
| int * | valid_points_num_image, | ||
| RangeImage & | range_image | ||
| ) | const |
Возвращает размытую версию изображения расстояний, применяя фильтры усреднения к заданному интегральному изображению.
getCoordinateFrameTransformation()
| static PCL_EXPORTS void pcl::RangeImage::getCoordinateFrameTransformation | ( | RangeImage::CoordinateFrame | coordinate_frame, |
| Eigen::Affine3f & | transformation | ||
| ) |
Возвращает преобразование, которое переводит заданную систему координат в CAMERA_FRAME.
- Параметры
-
coordinate_frame входная система координат transformation результирующее преобразование, переводящее coordinate_frame в CAMERA_FRAME
Используется в: createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize() и createFromPointCloudWithKnownSize().
getCurvature()
| float pcl::RangeImage::getCurvature | ( | int | x, |
| int | y, | ||
| int | radius, | ||
| int | step_size | ||
| ) | const |
Вычисляет кривизну в точке с помощью метода главных компонент (PCA).
Определение в строке 1108 файла range_image.hpp.
Ссылки: pcl::VectorAverage< real, dimension >::add(), pcl::VectorAverage< real, dimension >::doPCA(), pcl::VectorAverage< real, dimension >::getNoOfSamples(), getPoint(), isInImage() и pcl::_PointWithRange::range.
getEigenVector3f() [1/3]
| Eigen::Vector3f pcl::RangeImage::getEigenVector3f | ( | const PointWithRange & | point | ) |
Получает Eigen::Vector3f из PointWithRange.
- Параметры
-
point входная точка
- Возвращаемое значение
- представление входной точки в виде 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]
|
Получить точку изображения imagePoint из 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 |
Получить размер заданной области при просмотре из указанного положения.
- Параметры
-
viewer_pose аффинная матрица, задающая положение наблюдателя center центр области radius радиус области
- Возвращает
- размер области, видимой согласно viewer_pose
Определение в строке 795 файла range_image.hpp.
Используется в createFromPointCloudWithKnownSize().
getMinMaxRanges()
| PCL_EXPORTS void pcl::RangeImage::getMinMaxRanges | ( | float & | min_range, |
| float & | max_range | ||
| ) | const |
Найти минимальную и максимальную дальность на изображении.
getNew()
| inlinevirtual |
Вернуть новое созданное изображение дальности.
Может быть переопределён в производных классах, таких как 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 |
Вычисляет степень перекрытия двух изображений дальности с учётом относительного преобразования (от заданного изображения к *this).
getPoint() [1/7]
| inline |
Неконстантная версия описанного выше метода.
Определение в строке 533 файла range_image.hpp.
Ссылки на getPoint() и real2DToInt2D().
getPoint() [2/7]
| inline |
Вернуть 3D-точку с дальностью в заданной позиции изображения.
Определение в строке 524 файла range_image.hpp.
Ссылки на getPoint() и real2DToInt2D().
getPoint() [3/7]
| inline |
Неконстантная версия 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-точку с дальностью по заданному индексу (где index=y*width+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 размером width*height.
- Возвращает
- указатель на новый массив 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 void pcl::RangeImage::getSubImage | ( | int | sub_image_image_offset_x, |
| int | sub_image_image_offset_y, | ||
| int | sub_image_width, | ||
| int | sub_image_height, | ||
| int | combine_pixels, | ||
| RangeImage & | sub_image | ||
| ) | const |
Получает часть полного изображения в виде нового изображения дальности.
- Параметры
-
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()
|
То же, что и выше, но извлекает дополнительные данные и также может возвращать извлечённую информацию для всех соседей в радиусе, если 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 |
Получает локальную систему координат с началом координат в точке point, вертикальной осью вверх и осью 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 на копию этого объекта.
Определение в строке 124 файла range_image.h.
real2DToInt2D()
| inline |
Преобразует координаты точки изображения с плавающей точкой в целочисленные координаты точки изображения.
Определение в строке 442 файла range_image.hpp.
Используется в doZBuffer(), getImagePoint() и getPoint().
recalculate3DPointPositions()
| PCL_EXPORTS void pcl::RangeImage::recalculate3DPointPositions | ( | ) |
Пересчитывает координаты всех трехмерных точек на основе их положения в пикселях и дальности.
Используется в createFromPointCloud(), pcl::RangeImagePlanar::createFromPointCloudWithFixedSize() и createFromPointCloudWithKnownSize().
reset()
| PCL_EXPORTS void pcl::RangeImage::reset | ( | ) |
Сбрасывает все значения, создавая пустое изображение дальности.
setAngularResolution() [1/2]
| inline |
Задает угловое разрешение изображения дальности.
- Параметры
-
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 |
Задает угловое разрешение изображения дальности.
- Параметры
-
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().
Документация этого класса была сгенерирована на основе следующих файлов:
- 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