PCL的PNG文件和计算点云重心
PCL提供节约一点云的值为一个PNG图像文件的可能方案。显然,这只能用有序的点云来完成,因为生成的图像的行和列将与点云的对应完全一致。例如,如果你从一个传感器Kinect或Xtion的点云,你可以用这个来检索640x480 RGB图像匹配的点云。
就是将点云文件PCD保存成PNG文件,程序如下
#include <pcl/io/pcd_io.h>
#include <pcl/io/png_io.h> int
main(int argc, char** argv)
{
// 创建点云对象
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>); // 读取点云文件
if (pcl::io::loadPCDFile<pcl::PointXYZRGB>(argv[], *cloud) != )
{
return -;
} // 保存图片,(必须为有序点云)
pcl::io::savePNGFile("output.png", *cloud, "rgb");
}
那么这里的实验结果是根据我之前使用的用kinect获得的点云数据,他的点云可视化效果如下

保存为PNG的结果为

如果省略参数,函数将默认保存RGB域。
(2)计算点云重心
点云的重心是一个点坐标,计算出云中所有点的平均值。你可以说它是“质量中心”,它对于某些算法有多种用途。如果你想计算一个聚集的物体的实际重心,记住,传感器没有检索到从相机中相反的一面,就像被前面板遮挡的背面,或者里面的。只有面对相机表面的一部分。
#include <pcl/io/pcd_io.h>
#include <pcl/common/centroid.h> #include <iostream> int
main(int argc, char** argv)
{
// 创建点云的对象
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // 读取点云
if (pcl::io::loadPCDFile<pcl::PointXYZ>(argv[], *cloud) != )
{
return -;
} // 创建存储点云重心的对象
Eigen::Vector4f centroid; pcl::compute3DCentroid(*cloud, centroid); std::cout << "The XYZ coordinates of the centroid are: ("
<< centroid[] << ", "
<< centroid[] << ", "
<< centroid[] << ")." << std::endl;
}
这样就可以计算出点云的XYZ三个轴的重心的坐标值
简单的程序演示,大神请忽略,
微信公众号号可扫描二维码一起共同学习交流

PCL的PNG文件和计算点云重心的更多相关文章
- CUDA 编程实例:计算点云法线
程序参考文章:http://blog.csdn.net/gamesdev/article/details/17535755 程序优化2 简介:CUDA ,MPI,Hadoop都是并行运算的工具.CU ...
- 向PCD文件写入点云数据
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=83 本小节我们学习如何向PCD文件写入点云数据. 代码 章例2文件夹中,打开 ...
- 1T文件夹 - 微云
1T文件夹 - 微云 1T文件夹
- OSS上传文件到阿里云
最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. ...
- 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手 本人菜鸟一枚,最近公司有需求要用到富文本编辑器,我选择的是百度的ueditor富文本编辑器,闲话不多说,进入正 ...
- Redis 数据恢复方法,redis-port 工具将自建 redis 的 rdb文件同步到云数据库
1. Redis 恢复的机制 如果只配置 AOF ,重启时加载 AOF 文件恢复数据: 如果同时配置了 RDB 和 AOF ,启动是只加载 AOF 文件恢复数据: 如果只配置 RDB,启动是将加载 d ...
- 微信小程序存放视频文件到阿里云用到算法js脚本文件
peterhuang007/weixinFileToaliyun: 微信小程序存放视频文件到阿里云用到算法js脚本文件 https://github.com/peterhuang007/ ...
- .NET CORE上传文件到码云仓库【搭建自己的图床】
.NET CORE上传文件到码云仓库[搭建自己的图床] 先建一个公共仓库(随意提交一个README文件或者.gitignore文件保证master分支的存在),然后到gitee的个人设置页面找到[私人 ...
- Window、Ubuntu传输文件到阿里云服务器
Ubuntu传输文件到阿里云服务器 scp -r file(ubuntu的文件) root(用户名)@xx.xx.xx.xx(公网ip):/home/(目标文件夹) Window传输文件到阿里云服务器 ...
随机推荐
- 闭包(Closures)
本文转自:http://goddyzhao.tumblr.com/post/11311499651/closures 翻译自:http://dmitrysoshnikov.com/ 概要 本文将介绍一 ...
- 使用mysql innodb 使用5.7的json类型遇到的坑和解决办法
---------------------------------------------- #查询JSON的某个字段 select data -> '$.Host' from temp #创建 ...
- 关系型数据库性能测试参考指标----SQL Server
注:以下指标取自SQL Server自身提供的性能计数器. [@more@] SQL Server 指标名称 指标描述 指标范围 指标单位 1.SQL Server中访问方法(Access Metho ...
- RSA算法 JS加密 JAVA解密
有这样一个需求,前端登录的usernamepassword,password必需加密.但不可使用MD5,由于后台要检測password的复杂度,那么在保证安全的前提下将password传到后台呢,答案 ...
- 【凯子哥带你夯实应用层】使用ActionMode实现有删除动画的多选删除功能
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 ActionMode是3.0之后.官方推荐的一种上下文菜单的实现方式,在之前一直用的是Co ...
- [MeetCoder] Crossing Bridge
Crossing Bridge Description N people wish to cross a bridge at night. It’s so dark around there that ...
- 服务端 https和SSL
String keyStoreFilePassword = System .getProperty("keystore.file.password"); /usr/java/jdk ...
- Java中创建String的两种方式差异
我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd"; String str2 = new String("abcd&qu ...
- angular-resource版本差异问题
在 AngularJS v1.3.0-beta.14 这个版本里,使用query方法,如果传递进来的数据不是数组,会报错. 在 AngularJS v1.2.18 这个版本里,使用query方法,如果 ...
- [Windows Azure] Load Testing in Windows Azure
The primary goal of a load test is to simulate many users accessing a web application at the same ti ...