Spec-Zone.ru › PointCloudLibrary

Алгоритм наложения текстур. Подробнее...

#include <pcl/surface/texture_mapping.h>

Collaboration graph
[условные обозначения]

Открытые типы

using Ptr = shared_ptr< TextureMapping< PointInT > >
using ConstPtr = shared_ptr< const TextureMapping< PointInT > >
using PointCloud = pcl::PointCloud< PointInT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using Octree = pcl::octree::OctreePointCloudSearch< PointInT >
using OctreePtr = typename Octree::Ptr
using OctreeConstPtr = typename Octree::ConstPtr
using Camera = pcl::texture_mapping::Camera
using UvIndex = pcl::texture_mapping::UvIndex

Открытые функции-члены

TextureMapping ()=default
Конструктор. Подробнее...
~TextureMapping ()=default
Деструктор. Подробнее...
void setF (float f)
Задать коэффициент масштаба сетки. Подробнее...
void setVectorField (float x, float y, float z)
Задать векторное поле. Подробнее...
void setTextureFiles (std::vector< std::string > tex_files)
Задать файлы текстур. Подробнее...
void setTextureMaterials (TexMaterial tex_material)
Задать материалы текстур. Подробнее...
void mapTexture2Mesh (pcl::TextureMesh &tex_mesh)
Наложить текстуру на сетку с помощью алгоритма синтеза. Подробнее...
void mapTexture2MeshUV (pcl::TextureMesh &tex_mesh)
Выполнить UV-развёртку текстуры для сетки. Подробнее...
void mapMultipleTexturesToMeshUV (pcl::TextureMesh &tex_mesh, pcl::texture_mapping::CameraVector &cams)
Наложить на сетку текстуры, полученные с помощью набора камер. Подробнее...
bool getPointUVCoordinates (const PointInT &pt, const Camera &cam, Eigen::Vector2f &UV_coordinates)
Вычисляет UV-координаты точки, видимой из определённой камеры. Подробнее...
bool isPointOccluded (const PointInT &pt, const OctreePtr octree)
Проверить, закрыта ли точка, используя трассировку лучей по октодереву. Подробнее...
void removeOccludedPoints (const PointCloudPtr &input_cloud, PointCloudPtr &filtered_cloud, const double octree_voxel_size, pcl::Indices &visible_indices, pcl::Indices &occluded_indices)
Удалить закрытые точки из облака точек. Подробнее...
void removeOccludedPoints (const pcl::TextureMesh &tex_mesh, pcl::TextureMesh &cleaned_mesh, const double octree_voxel_size)
Удалить закрытые точки из текстурированной сетки. Подробнее...
void removeOccludedPoints (const pcl::TextureMesh &tex_mesh, PointCloudPtr &filtered_cloud, const double octree_voxel_size)
Удалить закрытые точки из текстурированной сетки. Подробнее...
int sortFacesByCamera (pcl::TextureMesh &tex_mesh, pcl::TextureMesh &sorted_mesh, const pcl::texture_mapping::CameraVector &cameras, const double octree_voxel_size, PointCloud &visible_pts)
Сегментировать грани по видимости из камеры. Подробнее...
void showOcclusions (const PointCloudPtr &input_cloud, pcl::PointCloud< pcl::PointXYZI >::Ptr &colored_cloud, const double octree_voxel_size, const bool show_nb_occlusions=true, const int max_occlusions=4)
Окрашивает облако точек в зависимости от его закрытости. Подробнее...
void showOcclusions (pcl::TextureMesh &tex_mesh, pcl::PointCloud< pcl::PointXYZI >::Ptr &colored_cloud, double octree_voxel_size, bool show_nb_occlusions=true, int max_occlusions=4)
Окрашивает облако точек сетки Mesh в зависимости от его закрытости. Подробнее...
void textureMeshwithMultipleCameras (pcl::TextureMesh &mesh, const pcl::texture_mapping::CameraVector &cameras)
Сегментировать грани по видимости из камеры и наложить на них текстуры. Подробнее...

Защищённые функции-члены

std::vector< Eigen::Vector2f, Eigen::aligned_allocator< Eigen::Vector2f > > mapTexture2Face (const Eigen::Vector3f &p1, const Eigen::Vector3f &p2, const Eigen::Vector3f &p3)
Наложить текстуру на грань. Подробнее...
void getTriangleCircumcenterAndSize (const pcl::PointXY &p1, const pcl::PointXY &p2, const pcl::PointXY &p3, pcl::PointXY &circumcenter, double &radius)
Возвращает центр описанной окружности треугольника и радиус окружности. Подробнее...
void getTriangleCircumcscribedCircleCentroid (const pcl::PointXY &p1, const pcl::PointXY &p2, const pcl::PointXY &p3, pcl::PointXY &circumcenter, double &radius)
Возвращает центроид треугольника и радиус соответствующей описанной окружности. Подробнее...
bool getPointUVCoordinates (const PointInT &pt, const Camera &cam, pcl::PointXY &UV_coordinates)
Вычисляет UV-координаты точки, видимой из определённой камеры. Подробнее...
bool isFaceProjected (const Camera &camera, const PointInT &p1, const PointInT &p2, const PointInT &p3, pcl::PointXY &proj1, pcl::PointXY &proj2, pcl::PointXY &proj3)
Возвращает true, если все вершины грани проецируются на плоскость изображения камеры. Подробнее...
bool checkPointInsideTriangle (const pcl::PointXY &p1, const pcl::PointXY &p2, const pcl::PointXY &p3, const pcl::PointXY &pt)
Возвращает True, если точка находится внутри треугольника. Подробнее...
std::string getClassName () const
Метод получения имени класса. Подробнее...

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

float f_ {0.0f}
коэффициент масштаба сетки. Подробнее...
Eigen::Vector3f vector_field_
векторное поле Подробнее...
std::vector< std::string > tex_files_
список файлов текстур Подробнее...
TexMaterial tex_material_
список материалов текстур Подробнее...

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

template<typename PointInT>
class pcl::TextureMapping< PointInT >

Алгоритм наложения текстур.

Автор
Khai Tran, Raphael Favier

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

Описание псевдонимов типов-членов

Camera

template<typename PointInT >
using pcl::TextureMapping< PointInT >::Camera = pcl::texture_mapping::Camera

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

ConstPtr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::ConstPtr = shared_ptr<const TextureMapping<PointInT> >

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

Octree

template<typename PointInT >
using pcl::TextureMapping< PointInT >::Octree = pcl::octree::OctreePointCloudSearch<PointInT>

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

OctreeConstPtr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::OctreeConstPtr = typename Octree::ConstPtr

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

OctreePtr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::OctreePtr = typename Octree::Ptr

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

PointCloud

template<typename PointInT >
using pcl::TextureMapping< PointInT >::PointCloud = pcl::PointCloud<PointInT>

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

PointCloudConstPtr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::PointCloudConstPtr = typename PointCloud::ConstPtr

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

PointCloudPtr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::PointCloudPtr = typename PointCloud::Ptr

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

Ptr

template<typename PointInT >
using pcl::TextureMapping< PointInT >::Ptr = shared_ptr<TextureMapping<PointInT> >

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

UvIndex

template<typename PointInT >
using pcl::TextureMapping< PointInT >::UvIndex = pcl::texture_mapping::UvIndex

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

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

TextureMapping()

template<typename PointInT >
pcl::TextureMapping< PointInT >::TextureMapping ( )
по умолчанию

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

~TextureMapping()

template<typename PointInT >
pcl::TextureMapping< PointInT >::~TextureMapping ( )
default

Деструктор.

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

checkPointInsideTriangle()

template<typename PointInT >
bool pcl::TextureMapping< PointInT >::checkPointInsideTriangle ( const pcl::PointXY & p1,
const pcl::PointXY & p2,
const pcl::PointXY & p3,
const pcl::PointXY & pt
)
inlineprotected

Возвращает True, если точка находится внутри треугольника.

см. http://www.blackpawn.com/texts/pointinpoly/default.html

Параметры
[in] p1 первая точка треугольника.
[in] p2 вторая точка треугольника.
[in] p3 третья точка треугольника.
[in] pt проверяемая точка.

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

Ссылки: pcl::PointXY::x и pcl::PointXY::y.

getClassName()

template<typename PointInT >
std::string pcl::TextureMapping< PointInT >::getClassName ( ) const
inlineprotected

Метод получения имени класса.

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

getPointUVCoordinates() [1/2]

template<typename PointInT >
bool pcl::TextureMapping< PointInT >::getPointUVCoordinates ( const PointInT & pt,
const Camera & cam,
Eigen::Vector2f & UV_coordinates
)
inline

вычисляет UV-координаты точки, наблюдаемой одной конкретной камерой

Параметры
[in] pt точка XYZ для проецирования на плоскость камеры
[in] cam камера, используемая для проецирования
[out] UV_coordinates результирующие UV-координаты. Устанавливается в (-1.0,-1.0), если камера не видит точку
Возвращает
false, если камера не видит точку

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

Ссылки: pcl::texture_mapping::Camera::center_h, pcl::texture_mapping::Camera::center_w, pcl::texture_mapping::Camera::focal_length, pcl::texture_mapping::Camera::focal_length_h, pcl::texture_mapping::Camera::focal_length_w, pcl::texture_mapping::Camera::height и pcl::texture_mapping::Camera::width.

getPointUVCoordinates() [2/2]

template<typename PointInT >
bool pcl::TextureMapping< PointInT >::getPointUVCoordinates ( const PointInT & pt,
const Camera & cam,
pcl::PointXY & UV_coordinates
)
inlineprotected

вычисляет UV-координаты точки, наблюдаемой одной конкретной камерой

Параметры
[in] pt точка XYZ для проецирования на плоскость камеры
[in] cam камера, используемая для проецирования
[out] UV_coordinates результирующие UV-координаты. Устанавливается в (-1.0,-1.0), если камера не видит точку
Возвращает
false, если камера не видит точку

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

Ссылки: pcl::texture_mapping::Camera::center_h, pcl::texture_mapping::Camera::center_w, pcl::texture_mapping::Camera::focal_length, pcl::texture_mapping::Camera::focal_length_h, pcl::texture_mapping::Camera::focal_length_w, pcl::texture_mapping::Camera::height, pcl::texture_mapping::Camera::width, pcl::PointXY::x и pcl::PointXY::y.

getTriangleCircumcenterAndSize()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::getTriangleCircumcenterAndSize ( const pcl::PointXY & p1,
const pcl::PointXY & p2,
const pcl::PointXY & p3,
pcl::PointXY & circumcenter,
double & radius
)
inlineprotected

Возвращает центр описанной окружности треугольника и радиус окружности.

Формулы см. по ссылке https://en.wikipedia.org/wiki/Circumcenter.

Параметры
[in] p1 первая точка треугольника.
[in] p2 вторая точка треугольника.
[in] p3 третья точка треугольника.
[out] circumcenter полученный центр описанной окружности
[out] radius радиус описанной окружности.

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

Ссылки: pcl::PointXY::x и pcl::PointXY::y.

getTriangleCircumcscribedCircleCentroid()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::getTriangleCircumcscribedCircleCentroid ( const pcl::PointXY & p1,
const pcl::PointXY & p2,
const pcl::PointXY & p3,
pcl::PointXY & circumcenter,
double & radius
)
inlineprotected

Возвращает центроид треугольника и радиус соответствующей описанной окружности.

Результатом является более компактная окружность, чем при использовании getTriangleCircumcenterAndSize.

Параметры
[in] p1 первая точка треугольника.
[in] p2 вторая точка треугольника.
[in] p3 третья точка треугольника.
[out] circumcenter полученный центр описанной окружности
[out] radius радиус описанной окружности.

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

Ссылки: pcl::PointXY::x и pcl::PointXY::y.

isFaceProjected()

template<typename PointInT >
bool pcl::TextureMapping< PointInT >::isFaceProjected ( const Camera & camera,
const PointInT & p1,
const PointInT & p2,
const PointInT & p3,
pcl::PointXY & proj1,
pcl::PointXY & proj2,
pcl::PointXY & proj3
)
inlineprotected

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

Параметры
[in] camera камера, на изображение которой проецируется грань.
[in] p1 первая точка грани.
[in] p2 вторая точка грани.
[in] p3 третья точка грани.
[out] proj1 UV-координаты, соответствующие p1.
[out] proj2 UV-координаты, соответствующие p2.
[out] proj3 UV-координаты, соответствующие p3.

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

isPointOccluded()

template<typename PointInT >
bool pcl::TextureMapping< PointInT >::isPointOccluded ( const PointInT & pt,
const OctreePtr octree
)
inline

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

Параметры
[in] pt точка XYZ, из которой начинается луч (направленный к камере)
[in] octree октодерево, используемое для трассировки лучей. Оно должно быть инициализировано облаком точек, преобразованным в систему координат камеры
Возвращает
true, если точка заслонена.

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

mapMultipleTexturesToMeshUV()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::mapMultipleTexturesToMeshUV ( pcl::TextureMesh & tex_mesh,
pcl::texture_mapping::CameraVector & cams
)

Наложить текстуры, полученные с набора камер, на сетку.

При UV-развёртке сетка должна быть разделена на NbCamera + 1 подобъектов. Каждый подобъект соответствует граням, видимым одной камерой. Последний подобъект содержит все невидимые грани.

Параметры
[in] tex_mesh текстурная сетка
[in] cams камеры, используемые для UV-развёртки

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

Ссылки: pcl::TextureMesh::cloud, pcl::fromPCLPointCloud2(), pcl::texture_mapping::Camera::pose, pcl::TextureMesh::tex_coordinates, pcl::TextureMesh::tex_materials, pcl::TextureMesh::tex_polygons, pcl::texture_mapping::Camera::texture_file и pcl::transformPointCloud().

mapTexture2Face()

template<typename PointInT >
std::vector< Eigen::Vector2f, Eigen::aligned_allocator< Eigen::Vector2f > > pcl::TextureMapping< PointInT >::mapTexture2Face ( const Eigen::Vector3f & p1,
const Eigen::Vector3f & p2,
const Eigen::Vector3f & p3
)
protected

Наложить текстуру на грань.

Параметры
[in] p1 первая точка
[in] p2 вторая точка
[in] p3 третья точка

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

mapTexture2Mesh()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::mapTexture2Mesh ( pcl::TextureMesh & tex_mesh )

Алгоритм синтеза наложения текстуры на сетку.

Параметры
[in] tex_mesh текстурная сетка

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

Ссылки: pcl::TextureMesh::cloud, pcl::PCLPointCloud2::data, pcl::PCLPointCloud2::fields, pcl::PCLPointCloud2::height, pcl::TextureMesh::tex_coordinates, pcl::TextureMesh::tex_materials, pcl::TextureMesh::tex_polygons и pcl::PCLPointCloud2::width.

mapTexture2MeshUV()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::mapTexture2MeshUV ( pcl::TextureMesh & tex_mesh )

Наложить текстуру на сетку с помощью UV-развёртки.

Параметры
[in] tex_mesh текстурная сетка

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

Ссылки: pcl::TextureMesh::cloud, pcl::PCLPointCloud2::data, pcl::PCLPointCloud2::fields, pcl::PCLPointCloud2::height, pcl::TextureMesh::tex_coordinates, pcl::TextureMesh::tex_materials, pcl::TextureMesh::tex_polygons и pcl::PCLPointCloud2::width.

removeOccludedPoints() [1/3]

template<typename PointInT >
void pcl::TextureMapping< PointInT >::removeOccludedPoints ( const pcl::TextureMesh & tex_mesh,
pcl::TextureMesh & cleaned_mesh,
const double octree_voxel_size
)

Удалить закрытые точки из textureMesh.

Параметры
[in] tex_mesh входная сетка, для которой выполняется обнаружение перекрытий
[out] cleaned_mesh результирующая сетка, содержащая только видимые точки
[in] octree_voxel_size разрешение октодерева (в метрах)

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

Ссылки: pcl::TextureMesh::cloud, pcl::fromPCLPointCloud2() и pcl::TextureMesh::tex_polygons.

removeOccludedPoints() [2/3]

template<typename PointInT >
void pcl::TextureMapping< PointInT >::removeOccludedPoints ( const pcl::TextureMesh & tex_mesh,
PointCloudPtr & filtered_cloud,
const double octree_voxel_size
)

Удалить закрытые точки из textureMesh.

Параметры
[in] tex_mesh входная сетка, для которой выполняется обнаружение перекрытий
[out] filtered_cloud результирующее облако, содержащее только видимые точки
[in] octree_voxel_size разрешение октодерева (в метрах)

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

Ссылки: pcl::TextureMesh::cloud и pcl::fromPCLPointCloud2().

removeOccludedPoints() [3/3]

template<typename PointInT >
void pcl::TextureMapping< PointInT >::removeOccludedPoints ( const PointCloudPtr & input_cloud,
PointCloudPtr & filtered_cloud,
const double octree_voxel_size,
pcl::Indices & visible_indices,
pcl::Indices & occluded_indices
)

Удалить закрытые точки из облака точек.

Параметры
[in] input_cloud облако, для которого выполняется обнаружение перекрытий
[out] filtered_cloud результирующее облако, содержащее только видимые точки
[in] octree_voxel_size разрешение октодерева (в метрах)
[out] visible_indices будет содержать индексы видимых точек
[out] occluded_indices будет содержать индексы закрытых точек

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

Ссылки: pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointsFromInputCloud(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox(), pcl::octree::OctreePointCloudSearch< PointT, LeafContainerT, BranchContainerT >::getIntersectedVoxelIndices() и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud().

setF()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::setF ( float f )
inline

Задать параметр управления масштабом сетки.

Параметры
[in] f

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

Ссылка: pcl::TextureMapping< PointInT >::f_.

setTextureFiles()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::setTextureFiles ( std::vector< std::string > tex_files )
inline

Задать файлы текстур.

Параметры
[in] tex_files список файлов текстур

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

Ссылка: pcl::TextureMapping< PointInT >::tex_files_.

setTextureMaterials()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::setTextureMaterials ( TexMaterial tex_material )
inline

Задать материалы текстур.

Параметры
[in] tex_material материал текстуры

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

Ссылка: pcl::TextureMapping< PointInT >::tex_material_.

setVectorField()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::setVectorField ( float x,
float y,
float z
)
inline

Задать векторное поле.

Параметры
[in] x координата x точки данных
[in] y координата y точки данных
[in] z координата z точки данных

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

Ссылка: pcl::TextureMapping< PointInT >::vector_field_.

showOcclusions() [1/2]

template<typename PointInT >
void pcl::TextureMapping< PointInT >::showOcclusions ( const PointCloudPtr & input_cloud,
pcl::PointCloud< pcl::PointXYZI >::Ptr & colored_cloud,
const double octree_voxel_size,
const bool show_nb_occlusions = true,
const int max_occlusions = 4
)

Окрашивает облако точек в зависимости от степени его перекрытия.

Если для showNbOcclusions задано значение True, каждая точка окрашивается в зависимости от количества перекрывающих её точек. В противном случае каждой точке присваивается значение: 0, если она не перекрыта, и 1, если перекрыта. По умолчанию количество перекрытий ограничено значением 4.

Параметры
[in] input_cloud входное облако, для которого будут вычислены перекрытия.
[out] colored_cloud результирующее окрашенное облако, показывающее количество перекрытий для каждой точки.
[in] octree_voxel_size разрешение октодерева (в метрах).
[in] show_nb_occlusions Если задано значение false, цветовая информация будет отображать только.
[in] max_occlusions Ограничение количества перекрытий для каждой точки.

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

Ссылки: pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointsFromInputCloud(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox(), pcl::euclideanDistance(), pcl::octree::OctreePointCloudSearch< PointT, LeafContainerT, BranchContainerT >::getIntersectedVoxelIndices(), pcl::_PointXYZI::intensity, pcl::PointCloud< PointT >::points и pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::setInputCloud().

showOcclusions() [2/2]

template<typename PointInT >
void pcl::TextureMapping< PointInT >::showOcclusions ( pcl::TextureMesh & tex_mesh,
pcl::PointCloud< pcl::PointXYZI >::Ptr & colored_cloud,
double octree_voxel_size,
bool show_nb_occlusions = true,
int max_occlusions = 4
)

Окрашивает облако точек объекта Mesh в зависимости от степени его перекрытия.

Если для showNbOcclusions задано значение True, каждая точка окрашивается в зависимости от количества перекрывающих её точек. В противном случае каждой точке присваивается значение: 0, если она не перекрыта, и 1, если перекрыта. По умолчанию количество перекрытий ограничено значением 4.

Параметры
[in] tex_mesh входная сетка, для которой будут вычислены перекрытия.
[out] colored_cloud результирующее окрашенное облако, показывающее количество перекрытий для каждой точки.
[in] octree_voxel_size разрешение октодерева (в метрах).
[in] show_nb_occlusions Если задано значение false, цветовая информация будет отображать только.
[in] max_occlusions Ограничение количества перекрытий для каждой точки.

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

Ссылки: pcl::TextureMesh::cloud и pcl::fromPCLPointCloud2().

sortFacesByCamera()

template<typename PointInT >
int pcl::TextureMapping< PointInT >::sortFacesByCamera ( pcl::TextureMesh & tex_mesh,
pcl::TextureMesh & sorted_mesh,
const pcl::texture_mapping::CameraVector & cameras,
const double octree_voxel_size,
PointCloud & visible_pts
)

Сегментирует грани по видимости камерой.

Сегментация на основе точек.

При N камерах грани будут распределены по N+1 группам: по одной для каждой камеры и ещё одной для граней, невидимых ни одной камерой.

Параметры
[in] tex_mesh входной меш, который необходимо отсортировать. Должен содержать только 1 подобъект меша.
[in] sorted_mesh результирующий меш, будет содержать nbCamera + 1 подобъект меша.
[in] cameras вектор с камерами, используемыми для наложения текстур.
[in] octree_voxel_size разрешение октодерева (в метрах)
[out] visible_pts облако, содержащее только видимые точки

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

Ссылки: pcl::TextureMesh::cloud, pcl::fromPCLPointCloud2(), pcl::TextureMesh::tex_polygons и pcl::transformPointCloud().

textureMeshwithMultipleCameras()

template<typename PointInT >
void pcl::TextureMapping< PointInT >::textureMeshwithMultipleCameras ( pcl::TextureMesh & mesh,
const pcl::texture_mapping::CameraVector & cameras
)

Сегментирует и текстурирует грани по видимости камерой.

Сегментация на основе граней.

При N камерах грани будут распределены по N+1 группам: по одной для каждой камеры и ещё одной для граней, невидимых ни одной камерой. Меш также будет содержать UV-координаты для каждой грани.

Параметры
mesh входной меш, который необходимо отсортировать. Должен содержать только 1 подобъект меша.
[in] cameras вектор с камерами, используемыми для наложения текстур.

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

Ссылки: pcl::TextureMesh::cloud, pcl::fromPCLPointCloud2(), pcl::texture_mapping::UvIndex::idx_cloud, pcl::texture_mapping::UvIndex::idx_face, pcl::PointCloud< PointT >::points, pcl::KdTreeFLANN< PointT, Dist >::radiusSearch(), pcl::KdTreeFLANN< PointT, Dist >::setInputCloud(), pcl::TextureMesh::tex_coordinates, pcl::TextureMesh::tex_polygons, pcl::transformPointCloud(), pcl::PointXY::x и pcl::PointXY::y.

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

f_

template<typename PointInT >
float pcl::TextureMapping< PointInT >::f_ {0.0f}
protected

Управление масштабом меша.

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

Используется в pcl::TextureMapping< PointInT >::setF().

tex_files_

template<typename PointInT >
std::vector<std::string> pcl::TextureMapping< PointInT >::tex_files_
protected

список файлов текстур

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

Используется в pcl::TextureMapping< PointInT >::setTextureFiles().

tex_material_

template<typename PointInT >
TexMaterial pcl::TextureMapping< PointInT >::tex_material_
protected

список материалов текстур

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

Используется в pcl::TextureMapping< PointInT >::setTextureMaterials().

vector_field_

template<typename PointInT >
Eigen::Vector3f pcl::TextureMapping< PointInT >::vector_field_
protected

векторное поле

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

Используется в pcl::TextureMapping< PointInT >::setVectorField().


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

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

Spec-Zone.ru

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