ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何在window10使用cmake运行Pcl案例代码

2021-09-14 10:05:16  阅读:232  来源: 互联网

标签:cmake pcl read PCL test Pcl pcd window10


其实在pcl官网的教程已经很详细了,只是有一些细节部分可能让小白蒙圈。毕竟我也是学测绘的。对于这些东西我以前也没接触过,在师兄的帮助下,学习起来避免了很多坑。下面正式开始了,主要分三部分

- 复制代码
首先去下面这个网站,找到这个案例,点进去,复制cpp的代码
https://pcl.readthedocs.io/projects/tutorials/en/latest/index.html
在这里插入图片描述

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>

int
main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

  if (pcl::io::loadPCDFile<pcl::PointXYZ> ("test_pcd.pcd", *cloud) == -1) //* load the file
  {
    PCL_ERROR ("Couldn't read file test_pcd.pcd \n");
    return (-1);
  }
  std::cout << "Loaded "
            << cloud->width * cloud->height
            << " data points from test_pcd.pcd with the following fields: "
            << std::endl;
  for (const auto& point: *cloud)
    std::cout << "    " << point.x
              << " "    << point.y
              << " "    << point.z << std::endl;

  return (0);
}

新建一个cpp文件,把代码复制进去
在这里插入图片描述

- 再新建一个txt文件,名字改成:CMakeLists.txt
复制下面的内容进去:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

project(pcd_read)

find_package(PCL 1.2 REQUIRED)

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

add_executable (pcd_read pcd_read.cpp)
target_link_libraries (pcd_read ${PCL_LIBRARIES})

- 第三步就是打开cmake开始编译

  • 第一行写cpp的路径
  • 第二行写你需要生成工程文件的路径。一般单独建立一个build或者bin文件夹存放。
    在这里插入图片描述
    然后点击configure,第一次生成项目会弹出来,软件版本选择x64,下面默认finish就行。
    在这里插入图片描述
    在这里插入图片描述
    如果configure之后,没有问题,下面框框显示configuring done。继续generate。

在这里插入图片描述
最后显示这个就可以,open project 了
在这里插入图片描述
打开项目之后,需要点击项目名称那个设置为启动程序,不要选All build
在这里插入图片描述
然后咋release x64环境生成运行就可以了
结果是这样:
在这里插入图片描述
ps:
1、cmake软件configure的时候,可能会报错,不要怕。看看错误的提示,一般是三个原因:

  • cpp文件的名字和Cmakelixt.txt里面的名字没对应好,注意大小写
  • 电脑pcl的环境没有配置好,这个可以参考别的帖子。
  • cmake清理一下缓存,File——delete cache

2、编译之后vs打开项目,不需要再配项目的环境,很方便,所以强烈推荐学一下camke。、
3、另外注意这行代码:

if (pcl::io::loadPCDFile<pcl::PointXYZ>("test_pcd.pcd", *cloud) == -1)//*打开点云文件,只有5个点
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd\n");
		return(-1);
	}

test_pcd.pcd这个数据是需要放到build路径下面,也可以使用绝对路径。后续帖子还有用随机数生成点云数据的。可以看看后面的帖子。
4、 - 另外在推荐一些下载点云数据的一些网站,方便大家学习参考

  • http://graphics.stanford.edu/data/3Dscanrep/
  • https://www.cc.gatech.edu/projects/large_models/

标签:cmake,pcl,read,PCL,test,Pcl,pcd,window10
来源: https://blog.csdn.net/qq_32230783/article/details/120280541

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有