91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

PCL1.8.0+VS2013編寫,利用ICP進(jìn)行粗略配準(zhǔn),利用NDT進(jìn)行精確配準(zhǔn),當(dāng)兩個(gè)點(diǎn)云重疊率較大時(shí)有較好的效果,點(diǎn)云數(shù)據(jù)是用bun000和bun045,今后可能會(huì)上傳NDT+ICP進(jìn)行配的代碼。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
//配準(zhǔn)
#include??//ICP方法
#include?
#include?

#include?
#include?
#include?
#include?

//命名空間
using?pcl::visualization::PointCloudColorHandlerGenericField;
using?pcl::visualization::PointCloudColorHandlerCustom;

//定義類型的別名
typedef?pcl::PointXYZ?PointT;
typedef?pcl::PointCloud?PointCloud;
typedef?pcl::PointNormal?PointNormalT;
typedef?pcl::PointCloud?PointCloudWithNormals;

//void?pairAlign(const?PointCloud::Ptr?cloud_src?const?PointCloud::Ptr?cloud_tgt?PointCloud::Ptr?output?Eigen::Matrix4f?&final_transform?bool?downsample?=?false)
//void?loadData(int?argc?char?**argv?std::vector?>?&models)

//全局變量
//可視化對(duì)象
pcl::visualization::PCLVisualizer?*p;
//左視區(qū)和右視區(qū),可視化窗口分成左右兩部分
int?vp_1?vp_2;

//定義結(jié)構(gòu)體,用于處理點(diǎn)云
struct?PCD
{
PointCloud::Ptr?cloud;?//點(diǎn)云指針
std::string?f_name;?//文件名
//構(gòu)造函數(shù)
PCD()?:?cloud(new?PointCloud)?{};?//初始化
};


//?定義新的點(diǎn)表達(dá)方式?坐標(biāo)+曲率
class?MyPointRepresentation?:?public?pcl::PointRepresentation??//繼承關(guān)系
{
using?pcl::PointRepresentation::nr_dimensions_;
public:
MyPointRepresentation()
{
//指定維數(shù)
nr_dimensions_?=?4;
}

//重載函數(shù)copyToFloatArray,以定義自己的特征向量
virtual?void?copyToFloatArray(const?PointNormalT?&p?float?*?out)?const
{
//?坐標(biāo)xyz和曲率
out[0]?=?p.x;
out[1]?=?p.y;
out[2]?=?p.z;
out[3]?=?p.curvature;
}
};
//?讀取一系列的PCD文件(希望配準(zhǔn)的點(diǎn)云文件)
//?參數(shù)argc?參數(shù)的數(shù)量(來(lái)自main())
//?參數(shù)argv?參數(shù)的列表(來(lái)自main())
//?參數(shù)models?點(diǎn)云數(shù)據(jù)集的結(jié)果向量
void?loadData(int?argc?char?**argv?std::vector?>?&models)
{
std::string?extension(“.pcd“);?//聲明并初始化string類型變量extension,表示文件后綴名
//?通過(guò)遍歷文件名,讀取pcd文件
for?(int?i?=?1;?i? {
std::string?fname?=?std::string(argv[i]);
if?(fname.size()?<=?extension.size())?//文件名的長(zhǎng)度是否符合要求
continue;

std::transform(fname.begin()?fname.end()?fname.begin()?(int(*)(int))tolower);?//將某操作(小寫字母化)應(yīng)用于指定范圍的每個(gè)元素
//檢查文件是否是pcd文件
if?(fname.compare(fname.size()?-?extension.size()?extension.size()?extension)?==?0)
{
//?讀取點(diǎn)云,并保存到models
PCD?m;
m.f_name?=?argv[i];
pcl::io::loadPCDFile(argv[i]?*m.cloud);?//讀取點(diǎn)云數(shù)據(jù)
//去除點(diǎn)云中的NaN點(diǎn)(xyz都是NaN)
std::vector?indices;?//保存去除的點(diǎn)的索引
pcl::removeNaNFromPointCloud(*m.cloud?*m.cloud?indices);?//去除點(diǎn)云中的NaN點(diǎn)

models.push_back(m);
}
}
}

//簡(jiǎn)單地配準(zhǔn)一對(duì)點(diǎn)云數(shù)據(jù),并返回結(jié)果
//參數(shù)cloud_src??源點(diǎn)云
//參數(shù)cloud_tgt??目標(biāo)點(diǎn)云
//參數(shù)output?????輸出點(diǎn)云
//參數(shù)final_transform?成對(duì)變換矩陣
//參數(shù)

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-28?20:37??ICP+NDT\
?????目錄???????????0??2018-05-28?20:38??ICP+NDT\Debug\
?????文件?????3512293??2018-04-13?17:55??ICP+NDT\Debug\bun000.pcd
?????文件?????3493771??2018-04-16?09:33??ICP+NDT\Debug\bun045.pcd
?????文件??????437760??2018-05-06?10:37??ICP+NDT\Debug\pclStart.exe
?????文件?????????406??2018-05-03?15:03??ICP+NDT\Debug\pclStart.exe.manifest
?????文件?????1924320??2018-05-06?10:37??ICP+NDT\Debug\pclStart.ilk
?????目錄???????????0??2018-05-28?20:39??ICP+NDT\pclStart\
?????目錄???????????0??2018-05-28?20:35??ICP+NDT\pclStart\Debug\
?????文件???????43440??2012-05-13?17:15??ICP+NDT\pclStart\Debug\bun0.pcd
?????文件?????3511384??2018-05-06?10:37??ICP+NDT\pclStart\Debug\main.obj
?????文件????????1830??2018-05-03?15:02??ICP+NDT\pclStart\Debug\pclStart.Build.CppClean.log
?????文件?????????381??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.exe.intermediate.manifest
?????文件???????11084??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.log
?????目錄???????????0??2018-05-28?20:35??ICP+NDT\pclStart\Debug\pclStart.tlog\
?????文件??????405378??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\CL.read.1.tlog
?????文件?????????756??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\CL.write.1.tlog
?????文件?????????844??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\cl.command.1.tlog
?????文件???????15582??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\link.command.1.tlog
?????文件???????37332??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\link.read.1.tlog
?????文件?????????976??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\link.write.1.tlog
?????文件?????????594??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\mt.command.1.tlog
?????文件?????????444??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\mt.read.1.tlog
?????文件?????????444??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\mt.write.1.tlog
?????文件?????????203??2018-05-06?10:37??ICP+NDT\pclStart\Debug\pclStart.tlog\pclStart.lastbuildstate
?????文件????17492958??2012-05-03?17:21??ICP+NDT\pclStart\Debug\table_scene_lms400.pcd
?????文件????10275840??2018-05-06?10:37??ICP+NDT\pclStart\Debug\vc120.idb
?????文件????14782464??2018-05-06?10:37??ICP+NDT\pclStart\Debug\vc120.pdb
?????文件???????15407??2018-04-26?10:21??ICP+NDT\pclStart\IcpPlusNdt000Plus045.cpp
?????文件????????6214??2018-04-09?11:04??ICP+NDT\pclStart\PCL1.8.0Debug.props
?????文件?????3512293??2018-04-13?17:55??ICP+NDT\pclStart\bun000.pcd
............此處省略6個(gè)文件信息

評(píng)論

共有 條評(píng)論