用PCL库读取并显示PLY点云文件

本文介绍了一个使用PCL库的C++程序,该程序可以读取PLY格式的点云数据,并通过PCLVisualizer进行实时可视化展示。程序首先加载点云文件,然后设置可视化窗口的背景颜色,添加点云数据并设置点大小,最后进入循环直到窗口关闭。

main.cpp


#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/visualization/pcl_visualizer.h>


typedef pcl::PointXYZ PointT;
typedef pcl::PointCloud<PointT> PointCloudT;

int main(int argc,char** argv)
{
        PointCloudT::Ptr cloud(new PointCloudT);
		
		// 读取点云
        std::string filename = argv[1];
        if (pcl::io::loadPLYFile(filename, *cloud)<0)
        {
                std::cout << "error";
        }

		// 点云显示
        pcl::visualization::PCLVisualizer::Ptr viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));
        viewer->setBackgroundColor (0, 0, 0);
        viewer->addPointCloud<pcl::PointXYZ> (cloud, "sample cloud");
        viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "sample cloud");
        viewer->initCameraParameters ();
        while (!viewer->wasStopped())
        {
                viewer->spinOnce();
        }

        return 0;
}

CMakeLists.txt


cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

project(ply_viewer)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable (ply_viewer main.cpp)
target_link_libraries (ply_viewer ${PCL_LIBRARIES})



示例:

./ply_viewer  /home/dabin/data/ply/chair2.ply 

chair

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值