PCLVisualizer可视化类(3)
viewer->addLine<pcl::PointXYZRGB> (cloud->points[0], cloud->points[cloud->size() - 1], "line");
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=165
可视化点云法线和其他特征
显示法线是理解点云的一个重要步骤,点云法线特征是非常重要的基础特征,PCLVisualizer可视化类可用于绘制法线,也可绘制表征点云的其他特征,比如主曲率和几何特征。normalsVis函数中的示例代码演示了如何显示点云的法线,如图1所示。
图1 显示点云法线
下面的这行代码放在绘制点云的代码后面,即可实现对点云法线的显示。
viewer->addPointCloudNormals<pcl::PointXYZRGB, pcl::Normal> (cloud, normals, 10, 0.05, "normals");
一旦用户计算得到法线,只需要另外一行程序在视窗中就可以显示这些法线,该显示法线成员方法的参数有法线显示的个数(这里,每十个点显示一个)及每个法线的长度(在这个例子中是0.05),当然用户可以自行调整为这些参数。
绘制普通形状
PCLVisualizer可视化类允许用户在视窗中绘制一般的图元,这个类常用于显示点云处理算法的可视化结果,例如,通过绘制可视化球体包围聚类得到的点云集以显示聚类结果。shapesVis函数的示例代码用于说明添加形状到视窗的实现方法。添加了四种形状:从点云中的第一个点到最后一个点之间的连线、原点所在平面、以点云中第一个点为中心的球体、沿y轴的锥体,如图2所示。
图2 绘制普通形状
绘制形状的示例代码,出现在将点云添加到视窗的示例代码之后。
viewer->addLine<pcl::PointXYZRGB> (cloud->points[], cloud->points[cloud->size() - ], "line");
上面的这行代码用于添加从点云第一个点到最后一个点的连线,绘制点之间连线的方法十分有用,例如,显示两组点云之间的对应点关系时,可方便用户直观的观看点云之间的对应关系。在本例中,线用缺省颜色,用户也可根据自己的要求给线自定义颜色,从点云中一点与其他多个点连接,这种显示方式很常见,也可以绘制多种形状。
viewer->addSphere (cloud->points[], 0.2, 0.5, 0.5, 0.0, "sphere");
上面的这行代码用于添加以点云中第一个点为中心、半径为0.2的球体,同时也可为该球体自定义颜色。
pcl::ModelCoefficients coeffs;
coeffs.values.push_back(0.0);
coeffs.values.push_back(0.0);
coeffs.values.push_back(1.0);
coeffs.values.push_back(0.0);
viewer->addPlane (coeffs, "plane");
上面几行代码,将添加绘制平面。在本例中,我们用标准的平面方程(ax + by + cz + d = 0)来定义平面,这个平面以原点为中心,方向沿Z方向,许多绘制形状的函数都采用这种定义系数的方法来定义形状。
coeffs.values.clear();
coeffs.values.push_back(0.3);
coeffs.values.push_back(0.3);
coeffs.values.push_back(0.0);
coeffs.values.push_back(0.0);
coeffs.values.push_back(1.0);
coeffs.values.push_back(0.0);
coeffs.values.push_back(5.0);
viewer->addCone (coeffs, "cone");
最后,添加锥形,利用模型系数指定锥形的参数。
最新文章
- okhttp封装时,提示 cannot resolve method OkHttpClient setConnectTimeout() 函数
- 异步与并行~ReaderWriterLockSlim实现的共享锁和互斥锁
- js实现去重字符串
- 使用HttpWebRequest发送自定义POST请求
- SQL中 EXCEPT、INTERSECT用法
- 3.第一个python程序
- sqlServer2008 手工注入
- 数据结构(Splay平衡树): [NOI2007] 项链工厂
- [转] 关于SIGPIPE导致的程序退出
- 栈详解及java实现
- Linux 定时任务不生效的问题
- hive 压缩 差不多出来数据 各种压缩 数据格式
- 用junit对java代码进行测试,需要注意
- Elasticsearch学习笔记——分词
- 解决ubuntu下firefox的flash全屏后不能恢复问题 ZT
- Linux 下安装JDK和jmeter 及环境配置记录过程
- rsa 加密 pkcs#1格式秘钥的格式化
- 【咸鱼教程】TextureMerger1.6.6 三:Bitmap Font的制作和使用
- hover()与toggle()
- 【jQuery】页面顶部显示的进度条效果