当前位置: 首页 > news >正文

pcl法线估计的踩坑

1,normalestimation对点云法线的评估,只输出法线向量,并不输出xyz值。

如果输出类型是pointnormal,那么这点云的法向量有值,xyz值都是0

2,添加点云xyz数据。可以使用  pcl::concatenatefields(*a,*b,*c)函数

pcl::PointCloud<pcl::PointNormal>::Ptr cloud_con(new pcl::PointCloud<pcl::PointNormal>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);std::string filename = "D:\\Desktop\\pacl_learning\\cloud\\table_voxel.pcd";pcl::io::loadPCDFile(filename, *cloud);//法线评估pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal>::Ptr normal_es(new pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal>);normal_es->setInputCloud(cloud);pcl::search::KdTree < pcl::PointXYZ >::Ptr tree(new pcl::search::KdTree < pcl::PointXYZ >);normal_es->setSearchMethod(tree);normal_es->setKSearch(20);normal_es->compute(*cloud_con);cout << cloud_con->points.size() << endl;//不添加这一步的话,所或得的pointnormal类型是没有xyz数据的,都是0-0-0//也就是说normalestimation对点云法线的评估,只输出法线向量,并不输出xyz值。pcl::concatenateFields(*cloud, *cloud_con, *cloud_con);pcl::PointCloud<pcl::PointXYZ>::Ptr aa(new pcl::PointCloud<pcl::PointXYZ>);for (int i=0;i<cloud_con->points.size();i++){pcl::PointXYZ po;po.x = cloud_con->points[i].x;po.y = cloud_con->points[i].y;po.z = cloud_con->points[i].z;cout << po.x << "--" << po.y << "--" << po.z << endl;aa->push_back(po);}

http://www.dtcms.com/a/333454.html

相关文章:

  • 【GPT入门】第47课 大模型量化中 float32/float16/uint8/int4 的区别解析:从位数到应用场景
  • 《P1194 买礼物》
  • PyTorch的安装-CPU版本或者GPU安装有什么区别吗
  • 口播数字人免费API调用方案
  • Docker的相关知识探究详解
  • 【功能更新】“弹性互联网”正式上线Fusion WAN平台
  • Oracle按照特定列值排序和C#统计特定列值的所有行
  • 数据结构:N叉树 (N-ary Tree)
  • 【部署K8S集群】 1、安装前环境准备配置
  • Deepoc具身智能模型如何重塑康复辅助设备
  • Java中MybatisPlus使用多线程多数据源失效
  • 集成电路学习:什么是Image Segmentation图像分割
  • 功能组和功能组状态的概念关系和区别
  • java16学习笔记-Vector API
  • oracle数据库初始化
  • 共探头部设计|安贝斯携手武汉科创协会x深钣协“湖北行”,链动D+M小镇的华中范式
  • Linux软件编程-进程(2)及线程(1)
  • 快速设计简易嵌入式操作系统(5):贴近实际场景,访问多外设,进一步完善程序
  • WPF 监控CPU、内存性能
  • python math数学运算模块
  • 【AI论文】Story2Board:一种无需训练的富有表现力故事板生成方法
  • Numerical Difference between vLLM logprobs and huggingface logprobs
  • windows下hashcat使用gpu破解execl打开密码
  • 深入Amazon DynamoDB:高效、无缝的数据存储解决方案
  • 项目生命周期
  • Python爬虫大师课:HTTP协议深度解析与工业级请求封装
  • k8s环境使用Operator部署Seaweedfs集群(一)
  • STM32传感器模块编程实践(十四)DIY语音+满溢检测智能垃圾桶模型
  • SD-WAN核心特点有哪些,适用哪些场景?
  • Rust 入门 泛型和特征-深入特征 (十五)