• 大小: 3.76MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-08
  • 语言: 其他
  • 标签: osg,pclply  

资源简介

利用pcl读取点云,osg显示

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main()
{
osg::ref_ptr viewer = new osgViewer::Viewer() ;
viewer->addEventHandler(new osgGA::StateSetManipulator(viewer->getCamera()->getOrCreateStateSet())) ;
osg::ref_ptr root = new osg::Group() ;
//创建顶点数组
osg::ref_ptr coords = new osg::Vec3Array() ;
osg::ref_ptr color = new osg::Vec4Array() ;

pcl::PointCloud::Ptr cloud(new pcl::PointCloud) ;
if (pcl::io::loadPLYFile(“3-1-2.ply“  *cloud) == -1)
{
std::cout<<“读取点云失败!\n“ ;
return -1 ;
}
int nums = cloud->size() ;
std::cout<<“点云数据:“< int k = 0 ;
for (int i = 0 ; i < nums ; ++i)
{
coords->push_back(osg::Vec3(cloud->points[i].x  cloud->points[i].y  cloud->points[i].z)) ;
color->push_back(osg::Vec4(1.0f  0.0f  0.0f  0.3f)) ;
k++ ;
}

//创建几何体
osg::ref_ptr geometry = new osg::Geometry() ;
//设置顶点数组
geometry->setVertexArray(coords.get()) ;
geometry->setColorArray(color.get()) ;
geometry->setColorBinding(osg::Geometry::BIND_PER_VERTEX) ;

osg::Vec3Array *normals = new osg::Vec3Array ;
normals->push_back(osg::Vec3(0.0f  1.0f  0.0f)) ;
geometry->setNormalArray(normals) ;
geometry->setNormalBinding(osg::Geometry::BIND_OVERALL) ;
geometry->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::POINTS  0  k)) ; //设置关联方式

//添加到叶节点
osg::ref_ptr geode = new osg::Geode() ;
geode->addDrawable(geometry.get()) ;
root->addChild(geode.get()) ;

//优化场景数据
osgUtil::Optimizer optimizer ;
optimizer.optimize(root.get()) ;
viewer->setSceneData(root.get()) ;

viewer->realize() ;
viewer->run() ;

return 1 ;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-06-07 16:45  osg显示点云\
     目录           0  2016-06-07 16:44  osg显示点云\osg显示点云\
     文件      681002  2016-06-04 22:34  osg显示点云\osg显示点云\3-1-2.ply
     文件        2168  2016-06-07 16:44  osg显示点云\osg显示点云\main.cpp
     文件        7253  2016-06-07 10:26  osg显示点云\osg显示点云\osg显示点云.vcxproj
     文件         942  2016-06-07 10:26  osg显示点云\osg显示点云\osg显示点云.vcxproj.filters
     目录           0  2016-06-07 10:46  osg显示点云\osg显示点云\x64\
     目录           0  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\
     文件      312944  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\CL.read.1.tlog
     文件         316  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\CL.write.1.tlog
     文件        1238  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\cl.command.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link-cvtres.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link-cvtres.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link-rc.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link-rc.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120-cvtres.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120-cvtres.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120-rc.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120-rc.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.11120.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260-cvtres.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260-cvtres.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260-rc.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260-rc.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.6260.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.7620-cvtres.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.7620-cvtres.write.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.7620-rc.read.1.tlog
     文件           2  2016-06-07 16:36  osg显示点云\osg显示点云\x64\Debug\link.7620-rc.write.1.tlog
............此处省略18个文件信息

评论

共有 条评论

相关资源