0.4.3
ALSON::ClassicDeviceUtil类 参考

#include <ClassicDeviceUtil.h>

Public 成员函数

 ClassicDeviceUtil ()=default
 
 ClassicDeviceUtil (ClassicDeviceUtilImplPtr classicDeviceUtilPtr)
 
 ~ClassicDeviceUtil ()=default
 
 ClassicDeviceUtil (const ClassicDeviceUtil &)=default
 
ClassicDeviceUtiloperator= (const ClassicDeviceUtil &)=default
 
 ClassicDeviceUtil (ClassicDeviceUtil &&)=default
 
ClassicDeviceUtiloperator= (ClassicDeviceUtil &&)=default
 
void save (const std::string &filename) const
 
PointUV pointXYZToUV (const PointXYZ &pointXYZ) const
 
PointUV pointXYZToUV (float x, float y, float z) const
 
std::vector< PointUVpointXYZToUV (const PointCloud &pointCloud) const
 
PointCloud addRGBForPointCloud (const PointCloud &pointCloud, const AlsonMat &textureImage) const
 
PointCloud addRGBAndNormalForPointCloud (const PointCloud &pointCloud, const AlsonMat &textureImage, double radiusSearch, int totalThreads=1) const
 
AlsonMat alignTextureImage (const AlsonMat &textureImage)
 
AlsonMat pointCloudToDepthImage (const PointCloud &pointCloud) const
 
PointCloud depthImageToPointCloud (const AlsonMat &depthImage) const
 
PointCloud alignPointCloud (const PointCloud &pointCloud) const
 

静态 Public 成员函数

static ClassicDeviceUtil create (const std::string &parameter)
 
static ClassicDeviceUtil load (const std::string &filename)
 

详细描述

离线工具

ClassicDeviceUtil 中包含一些基本的数据处理接口,无需连接到服务端也可以对数据进行处理。实现与 ClassicDeviceController 相同的功能

自从
0.4.0

在文件 ClassicDeviceUtil.h41 行定义.

构造及析构函数说明

◆ ClassicDeviceUtil() [1/4]

ALSON::ClassicDeviceUtil::ClassicDeviceUtil ( )
default

◆ ClassicDeviceUtil() [2/4]

ALSON::ClassicDeviceUtil::ClassicDeviceUtil ( ClassicDeviceUtilImplPtr classicDeviceUtilPtr)
explicit

◆ ~ClassicDeviceUtil()

ALSON::ClassicDeviceUtil::~ClassicDeviceUtil ( )
default

◆ ClassicDeviceUtil() [3/4]

ALSON::ClassicDeviceUtil::ClassicDeviceUtil ( const ClassicDeviceUtil & )
default

◆ ClassicDeviceUtil() [4/4]

ALSON::ClassicDeviceUtil::ClassicDeviceUtil ( ClassicDeviceUtil && )
default

成员函数说明

◆ operator=() [1/2]

ClassicDeviceUtil & ALSON::ClassicDeviceUtil::operator= ( const ClassicDeviceUtil & )
default

◆ operator=() [2/2]

ClassicDeviceUtil & ALSON::ClassicDeviceUtil::operator= ( ClassicDeviceUtil && )
default

◆ create()

static ClassicDeviceUtil ALSON::ClassicDeviceUtil::create ( const std::string & parameter)
static

创建离线工具

参数
parameter用于创建离线工具的参数
返回
离线工具
异常
ClientException
自从
0.4.0

◆ load()

static ClassicDeviceUtil ALSON::ClassicDeviceUtil::load ( const std::string & filename)
static

通过加载本地文件的方式创建离线工具

参数
filename文件路径
返回
离线工具
异常
ClientException
自从
0.4.0

◆ save()

void ALSON::ClassicDeviceUtil::save ( const std::string & filename) const

将离线工具作为文件保存到本地

参数
filename文件路径
异常
ClientException
自从
0.4.0

◆ pointXYZToUV() [1/3]

PointUV ALSON::ClassicDeviceUtil::pointXYZToUV ( const PointXYZ & pointXYZ) const

计算指定点在未对齐纹理图上的坐标

参数
pointXYZ三维点坐标
返回
未对齐纹理图上的坐标
异常
ClientException
自从
0.4.0

◆ pointXYZToUV() [2/3]

PointUV ALSON::ClassicDeviceUtil::pointXYZToUV ( float x,
float y,
float z ) const

计算指定点在未对齐纹理图上的坐标

参数
xX 坐标
yY 坐标
zZ 坐标
返回
未对齐纹理图上的坐标
异常
ClientException
自从
0.4.0

◆ pointXYZToUV() [3/3]

std::vector< PointUV > ALSON::ClassicDeviceUtil::pointXYZToUV ( const PointCloud & pointCloud) const

将点云中的所有三维坐标转换为未对齐纹理图上的坐标

参数
pointCloud点云
返回
未对齐纹理图上的坐标
异常
ClientException
自从
0.4.0

◆ addRGBForPointCloud()

PointCloud ALSON::ClassicDeviceUtil::addRGBForPointCloud ( const PointCloud & pointCloud,
const AlsonMat & textureImage ) const

点云贴图

参数
pointCloud点云
textureImage未对齐的纹理图像
返回
贴图后的点云
异常
ClientException
自从
0.4.0

◆ addRGBAndNormalForPointCloud()

PointCloud ALSON::ClassicDeviceUtil::addRGBAndNormalForPointCloud ( const PointCloud & pointCloud,
const AlsonMat & textureImage,
double radiusSearch,
int totalThreads = 1 ) const

点云贴图并计算法向量

参数
pointCloud点云
textureImage未对齐的纹理图像
radiusSearch搜索半径
totalThreads线程数
返回
贴图并计算法向后的点云
异常
ClientException
自从
0.4.0

◆ alignTextureImage()

AlsonMat ALSON::ClassicDeviceUtil::alignTextureImage ( const AlsonMat & textureImage)

纹理图对齐

对齐后的纹理图与有序点云或深度图是一一对应的

参数
textureImage未对齐的纹理图像,通常是 grabTextureImage 返回的图像
返回
对齐后的纹理图像
异常
ClientException
自从
0.4.0
参见
pointCloudToDepthImage
depthImageToPointCloud
alignPointCloud

◆ pointCloudToDepthImage()

AlsonMat ALSON::ClassicDeviceUtil::pointCloudToDepthImage ( const PointCloud & pointCloud) const

将点云转换成深度图

深度图与对齐后的纹理图像是一一对应的

参数
pointCloud点云
返回
深度图
异常
ClientException
自从
0.4.0
参见
alignTextureImage

◆ depthImageToPointCloud()

PointCloud ALSON::ClassicDeviceUtil::depthImageToPointCloud ( const AlsonMat & depthImage) const

将深度图转换成点云

注意
转换后的点云为有序点云
参数
depthImage深度图
返回
有序点云
异常
ClientException
自从
0.4.0
参见
alignPointCloud

◆ alignPointCloud()

PointCloud ALSON::ClassicDeviceUtil::alignPointCloud ( const PointCloud & pointCloud) const

点云对齐

对齐后的点云是有序点云,有序点云的尺寸和纹理图像一致,有序点云与对齐后的纹理图像一一对应

如果我们知道纹理图上一个点的坐标为 \((u,v)\),那么我们可以通过如下示例代码获取到它在有序点云中对应的三维点

或者也可以参照如下示例代码通过指针的方式获取三维点

ALSON::PointXYZ p = pointCloud.ptr<ALSON::PointXYZ>() + (v * pointCloud.width + u);
参数
pointCloud原始点云,通常是 grabPointCloud 接口返回的点云
返回
对齐后的点云
异常
ClientException
自从
0.4.0
参见
alignTextureImage
My Custom Doxygen Footer
Data Processing Programmer's Guide 0.4.3
Copyright © 2014-2024 Henan Alson Intelligent Technology Co, Ltd 河南埃尔森智能科技有限公司 版权所有 豫ICP备15002212号