PCL学习笔记

1 篇文章 0 订阅
1 篇文章 0 订阅

PCL读取PLY文件并显示图像与数据

最近在做点云特征提取,想用法向量提取特征,但是总是运行不出来,只能一步步查看,发现输出PLY点云数据时总出现nan,但是数据是没有变的

  1. 代码(有些头文件不需要,我只是懒得挑选了)
#include<iostream>
#include<ctime>
#include<vector>
#include<pcl/point_cloud.h>
#include<pcl/kdtree/kdtree_flann.h>
#include <Eigen/Dense>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/io/io.h>
#include <pcl/io/obj_io.h>
#include <pcl/PolygonMesh.h>
#include<pcl/ros/conversions.h>
#include <pcl/point_cloud.h>
#include <pcl/io/ply_io.h>
#include <pcl/io/vtk_lib_io.h>//loadPolygonFileOBJ所属头文件;
#include<pcl/features/normal_3d.h>
#include<pcl/features/principal_curvatures.h>
#include<pcl/visualization/cloud_viewer.h>

using namespace std;
using namespace pcl;
using namespace Eigen;

int main()
{
	//1.读取点云
	pcl::PLYReader reader;
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	reader.read("F:/zhoujie/点云配准练习/公开数据集/bunny/bunny/data/bun000.ply", *cloud);
	//如果读取成功则会显示点云相关数据
	if (cloud->size() > 0)
	{
		cout << "读取成功" << endl;
		cout << cloud->width << endl;
		cout << cloud->height << endl;
		cout << cloud->size() << endl;
	}
	for (size_t i = 0; i < cloud->size();++i)
	{
		cout<< "    " << cloud->points[i].x
			<< " " << cloud->points[i].y
			<< " " << cloud->points[i].z
			<< std::endl;
	}
	
	//显示
	pcl::visualization::CloudViewer viewer("cloud viewer");
	viewer.showCloud(cloud);
    system("pause");
	return 0;
}

2.输出NAN和数字
在这里插入图片描述
在这里插入图片描述

3.与ply数据对比:经过一长串nan后是下一个数据

在这里插入图片描述
4.还有个疑问:nan数据会耽误程序运行吗?怎么才能跳过nan直接运行数据呢?求大神解答!!多谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一两句说不清楚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值