激光点云学习

1、测试程序

#include <iostream>
#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/extract_indices.h>
using namespace std;
int main()
{
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_p(new pcl::PointCloud<pcl::PointXYZ>);
    cloud->width = 5;
    cloud->height = 1;
    cloud->points.resize (cloud->width * cloud->height);

    for (size_t i = 0; i < cloud->points.size (); ++i)
    {
        cloud->points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
        cloud->points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
        cloud->points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);
    }
    std::cout << "Cloud before extract: " << std::endl;
    for (size_t i = 0; i < cloud->points.size (); ++i)
        std::cout << "    " << cloud->points[i].x << " "
                  << cloud->points[i].y << " "
                  << cloud->points[i].z << std::endl;

    std::vector<int> index = {1,3,4};//提取1,3,4位置处点云
    boost::shared_ptr<std::vector<int>> index_ptr = boost::make_shared<std::vector<int>>(index);
    // Create the filtering object
    pcl::ExtractIndices<pcl::PointXYZ> extract;
    // Extract the inliers
    extract.setInputCloud (cloud);
    extract.setIndices (index_ptr);
    extract.setNegative (true);//true: 取index以外的点云; false:取index内的点云
    extract.filter (*cloud_p);

    cout<<"----------------"<<endl;
    for (size_t i = 0; i < cloud_p->points.size (); ++i)
        std::cout << "    " << cloud_p->points[i].x << " "
                  << cloud_p->points[i].y << " "
                  << cloud_p->points[i].z << std::endl;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(cpptest)
#find_package(OpenCV REQUIRED)

set(CMAKE_CXX_STANDARD 14)

find_package(PCL 1.8 REQUIRED)

include_directories(
        /usr/include/pcl-1.8/
        /usr/include
        /usr/include/eigen3/
)

#link_directories(${PCL_LIBRARY_DIRS})

add_executable(test cpptest.cpp)

target_link_libraries(test ${PCL_LIBRARIES})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜聿于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值