《PCL点云库学习&VS2010(X64)》Part 21 VTK6.2+VS2013 利用PCL读取ply格式网格曲面
来源:互联网 发布:淘宝拍立淘不能用了 编辑:程序博客网 时间:2024/05/19 17:49
《PCL点云库学习&VS2010(X64)》Part 21 VTK6.2+VS2013 利用PCL读取ply格式网格曲面
写这个主要是在三维网格重构后用的,利用vtk显示点云数据,对ply格式是有要求的,有的ply格式纯粹就是点云数据,也可以理解为是pcd格式的电云数据。
但是在使用Crust算法生成曲面后,在Meshlab中渲染出来的效果才能出现曲面,在CloudCompare中却是零碎的曲面,就和破面一样,它里面有没有其他的高级渲染功能我就不知道了,试过但是没有找到。
然后就自己去网上找了一个例子来尝试自己的想法。
#include <pcl/common/io.h>#include <pcl/io/io.h>#include <pcl/point_cloud.h>#include <pcl/io/ply_io.h>#include <pcl/io/ply/ply.h>#include <pcl/console/parse.h>#include <iostream>#include <string>#include <pcl/point_types.h>#include <pcl/visualization/pcl_visualizer.h>#include <pcl/PolygonMesh.h>#include <pcl/io/ply_io.h>#include <pcl/io/vtk_lib_io.h>//#include <pcl/io/vtk_lib_io.hpp>#include <pcl/io/vtk_io.h>#include <stdlib.h>using namespace pcl;using namespace pcl::io;using namespace pcl::console;using namespace std;intmain(int argc, char** argv){//pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);PolygonMesh cloud;//boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;pcl::visualization::PCLVisualizer viewer("PCL PolygonMesh");string filename = "Output_.ply";pcl::io::loadPolygonFilePLY(filename, cloud);viewer.addPolygonMesh(cloud);viewer.setBackgroundColor(0.2, 0.0, 0.0);while (!viewer.wasStopped()){viewer.spinOnce();}return 0;}
上面的头文件有的是多余的,自己看着删除,不删也没关系。
还有自己的Output_.ply是Power Crust算法得到的结果,也就是上面所说的曲面,放在不同软件里效果不同。
看看该程序效果:
再分别看看cloudcompare(左图)和meshlab(右图)中的效果:
这个程序经过修改后可以得到以下的效果,结合PCL,将效果展示出来,也可以根据这个做出MAT的中轴曲面。
效果图:
0 0
- 《PCL点云库学习&VS2010(X64)》Part 21 VTK6.2+VS2013 利用PCL读取ply格式网格曲面
- 《PCL点云库学习&VS2010(X64)》Part 5 VTK6.2+VS2013+Qt5.5 测试VTK基于VS2013的Qt程序
- 《PCL点云库学习&VS2010(X64)》Part 15 PCL1.72(VTK6.2.0)三角网格化(2)之泊松重构
- 《PCL点云库学习&VS2010(X64)》Part 19 PCL1.72(VTK6.2.0)PCL程序计时
- 《PCL点云库学习&VS2010(X64)》Part 20 PCL1.72(VTK6.2.0)PCL控制台程序线程
- 《PCL点云库学习&VS2010(X64)》Part 12 PCL1.72(VTK6.2.0)三角网格化(1)
- 《PCL点云库学习&VS2010(X64)》Part 6 VTK6.2+VS2013+Qt5.5 测试VTK基于VS2013的Qt程序之PCLViewer
- 《PCL点云库学习&VS2010(X64)》Part 8 PCL1.72(VTK6.2.0)可视化例程
- 《PCL点云库学习&VS2010(X64)》Part 9 PCL1.72(VTK6.2.0)滤波例程
- 《PCL点云库学习&VS2010(X64)》Part 10 PCL1.72(VTK6.2.0)选点操作
- 《PCL点云库学习&VS2010(X64)》Part 13 PCL1.72(VTK6.2.0)ICP示例
- 《PCL点云库学习&VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd
- 《PCL点云库学习&VS2010(X64)》Part 18 PCL1.72(VTK6.2.0)编译CloudCompare注意点
- 《PCL点云库学习&VS2010(X64)》Part 16 PCL1.72(VTK6.2.0)滤波例程(2)之双边滤波
- 《PCL点云库学习&VS2010(X64)》Part 11 PCL1.72(VTK6.2.0)点特征描述与提取
- 《PCL点云库学习&VS2010(X64)》Part 14 PCL1.72(VTK6.2.0)点云分割(Point Cloud Segmentation)
- 《PCL点云库学习&VS2010(X64)》Part 2 A simple test of PCL in MFC
- 《PCL点云库学习&VS2010(X64)》Part 40 三角网格碰撞检测
- 【Spring】Spring Framework Reference Documentation中文版5
- tabwidget.cpp
- Queue
- 【caffe-windows】 caffe-master 之 cifar10 超详细
- Android自动化测试之Monkey(二)
- 《PCL点云库学习&VS2010(X64)》Part 21 VTK6.2+VS2013 利用PCL读取ply格式网格曲面
- Box2D v2.3.0 用户指南(第一章)
- urllineedit.h
- MyBaits缓存机制
- BZOJ1070: [SCOI2007]修车
- springBoot与MyBatis整合示例
- urllineedit.cpp
- 程序员面试金典: 9.5位操作 5.5编写一个函数,确定需要改变几个位,才能将整数A转成整数B
- Vigenere密码加密解密原理