资源简介
PCL最小包围盒完整代码,实现了2D/3D点云最小包围盒的实现.
PCL最小外接矩形完整代码,实现了2D/3D点云最小外接矩形的实现
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef pcl::PointXYZ PointType;
typedef struct myPointType
{
double x; //mm world coordinate x
double y; //mm world coordinate y
double z; //mm world coordinate z
int num; //point num
};
// Get N bits of the string from back to front.
char* Substrend(char*strint n)
{
char *substr=(char*)malloc(n+1);
int length=strlen(str);
if (n>=length)
{
strcpy(substrstr);
return substr;
}
int k=0;
for (int i=length-n;i {
substr[k]=str[i];
k++;
}
substr[k]=‘\0‘;
return substr;
}
int main(int argc char **argv)
{
// create point cloud
pcl::PointCloud::Ptr cloud(new pcl::PointCloud());
// load data
char* fileType;
if (argc>1)
{
fileType = Substrend(argv[1]3);
}
if (!strcmp(fileType“pcd“))
{
// load pcd file
pcl::io::loadPCDFile(argv[1] *cloud);
}
else if(!strcmp(fileType“txt“))
{
// load txt data file
int number_Txt;
myPointType txtPoint;
vector points;
FILE *fp_txt;
fp_txt = fopen(argv[1] “r“);
if (fp_txt)
{
while (fscanf(fp_txt “%lf %lf %lf“ &txtPoint.x &txtPoint.y &txtPoint.z) != EOF)
{
points.push_back(txtPoint);
}
}
else
std::cout << “txt数据加载失败!“ << endl;
number_Txt = points.size();
cloud->width = number_Txt;
cloud->height = 1;
cloud->is_dense = false;
cloud->points.resize(cloud->width * cloud->height);
for (size_t i = 0; i < cloud->points.size(); ++i)
{
cloud->points[i].x = points[i].x;
cloud->points[i].y = points[i].y;
cloud->points[i].z = 0;
}
}
else
{
std::cout << “please input data file name“< return 0;
}
// start calculating time
pcl::StopWatch time;
Eigen::Vector4f pcaCentroid;
pcl::compute3DCentroid(*cloud pcaCentroid);
Eigen::Matrix3f covariance;
pcl::computeCovarianceMatrixNormalized(*cloud pcaCentroid covariance);
Eigen::SelfAdjointEigenSolver eigen_solver(covariance Eigen::ComputeEigenvectors);
Eigen::Matrix3f eigenVectorsPCA = eigen_solver.eigenvectors();
Eigen::Vector3f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-21 03:16 Rectangular_Bounding_Box\
文件 6079 2018-09-20 07:41 Rectangular_Bounding_Box\scan.pcd
文件 6789 2018-09-20 07:37 Rectangular_Bounding_Box\scan.txt
文件 2547006 2018-04-03 16:17 Rectangular_Bounding_Box\milk_cartoon_all_small_clorox.pcd
文件 92940 2018-04-03 16:17 Rectangular_Bounding_Box\milk.pcd
文件 473 2018-09-20 07:04 Rectangular_Bounding_Box\CMakeLists.txt
文件 10344 2018-09-21 03:16 Rectangular_Bounding_Box\rectangular_bounding_box.cpp
目录 0 2018-09-21 07:32 Rectangular_Bounding_Box\build\
相关资源
- stm32f103c8t6最小系统版PWM程序
- RtmpClient.rar
- 算法集合道格拉斯、遗传算法、krig
- MPU6050 最小板子 可直接使用 含原理图
- httpclient-4.5.3.CHM
- STC15F2K60S2最小系统板原理图
- 基于最小均方误差的多用户MIMO系统下
- PCL+QVTK点云可视化
- 移动最小二乘增量式多视点云数据融
- PClint错误码大全.doc
- 最小拍系统简单设计
- Windows10+VS2015+PCL1.8.1配置
- PASCAL语言教程_完整版
- STM32F103 C8T6最小核心板 和HX711称重/压
- 8086CPU设计微机最小系统
- org.apache.commons.httpclient-4.5
- org.apache.commons.httpclient资源包4.2
- 通过httpclient获取到JSON数据,展示到
- 抗差最小二乘法 国家自然科学基金资
- stm32f103c8t6最小系统板驱动MPU6050模块
- HR8P506最小系统.7z
- 占用内存最小的PDF阅读器SumatraPDF
- 基于STM32C8T6的最小系统的工程模板文
- 最小二乘法拟合圆完整测试代码
- bun0.pcd
- IdTCPServer、IdTCPClient Indy 10.6.2 编译平
- Qt+pcl+vtk 屏幕选点
- STC15W4K56S4最小系统板
- Cmake编译PCL1.8.0源码后的工程文件
- STM32F103RCT6最小系统
评论
共有 条评论