C C++最新Ubuntu18(5),C C++架构师必备框架技能核心笔记

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

视觉化工具函数库(VTK,Visualization Toolkit)是一个开源、跨平台的系统,主要用于三维计算机图形学、图像处理和可视化等。

1. 先安装cmake 和vtk 的依赖项

sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev

2.下载VTK-8.2.0库

进入vtk官网下载8.2.0的压缩包

在这里插入图片描述
点击Download the previous release (8.2.0),然后选择下载下面任意一种类型的压缩包。因为zip和tar.gz都可以在ubuntu中手动解压。
在这里插入图片描述
3.解压VTK-8.2.0

进入压缩包的下载目录,然后右击【提取到此处】,当然也可以命令行解压,这里怎么简单怎么来。然后打开终端,进入VTK-8.2.0文件夹。

在这里插入图片描述

创建build文件夹,然后cd到build中, 使用可视化的cmake进行工程分析

mkdir build
cd  build
cmake-gui

4.配置VTK-8.2.0

选择文件路径,并勾选Grouped和Advanced, 如果看不到红色部分的内容,可以先点击底下的configure按钮,就可以出现红色部分的内容。

在这里插入图片描述

展开Module和VTK,然后分别在里面配置勾选这两个:Module_vtkGUISupportQt、VTK_Group_Qt

在这里插入图片描述
如果一切正常,可以发现红色部分全都变为了白色,若发现有部分红色内容,则将文件夹build中内容删除后,重新点击configure就ok了。这里其实就相当于进行了cmake分析。

5.编译安装VTK-8.2.0

Ctrl+Z或者手动关闭cmake-gui界面。然后输入sudo make进行编译,过程会比较漫长。

在这里插入图片描述最后输入sudo make install进行安装,大概5s不到,至此VTK-8.2.0安装成功。

4、安装pcl

1、下载pcl 1.9.1

首先进入pcl的下载官网,没错,它官网没有源代码,都在github: https://github.com/PointCloudLibrary/pcl.git
在这里插入图片描述
然后点击右侧中间的Release,进入历史版本界面:

在这里插入图片描述
我只能说官方是不是不想让我们下载历史版本呢,找到了1.91,然后源代码在哪里呢?
蓦然回首,原来它在下面的Assets目录下,就是Source code,这里依然自由选择压缩包格式。

在这里插入图片描述
2、编译安装pcl 1.9.1

解压下载的压缩包,然后打开终端,进入解压的目录,输入下面命令:

cd pcl-pcl-1.9.1
mkdir release
cd release

就像这样:

在这里插入图片描述
然后复制下面命令回车,用cmake分析整个源代码

cmake -DCMAKE\_BUILD\_TYPE=None -DCMAKE\_INSTALL\_PREFIX=/usr \ -DBUILD\_GPU=ON-DBUILD_apps=ON -DBUILD\_examples=ON \ -DCMAKE\_INSTALL\_PREFIX=/usr ..

如果cmake过程中出现下面这些找不到包的Warning,不要担心,博主查了很多资料都说可以忽略。只要没报错,显示Generating 100%就行。

Could NOT find FZAPI (missing: FZAPI_LIBS FZAPI_INCLUDE_DIRS)
– Fotonic camera support: not building because FZAPI not found
– Could NOT find ENSENSO (missing: ENSENSO_LIBRARIES ENSENSO_INCLUDE_DIRS)
– IDS-Imaging Ensenso camera support: not building because Ensenso not found
– Could NOT find davidSDK (missing: DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR)
– David Vision Systems SDK support: not building because davidSDK not found
– Could NOT find DSSDK (missing: DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS)
– DepthSense SDK support: not building because DSSDK not found
– Could NOT find RSSDK (missing: RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS)
– RealSense SDK support: not building because RSSDK not found

接着输入make进行编译,过程也比较漫长,可以做其他事情。

在这里插入图片描述
最后输入sudo make install 进行安装,安装过程非常快!

在这里插入图片描述

5、测试pcl

1、创建一个test_pcl文件夹,然后创建一个源文件test_pcl.cpp,代码如下:

#include <iostream>
#include <pcl/common/common\_headers.h>
#include <pcl/io/pcd\_io.h>
#include <pcl/visualization/pcl\_visualizer.h>
#include <pcl/visualization/cloud\_viewer.h>
#include <pcl/console/parse.h>
using namespace std;
 
int main(int argc, char \*\*argv) {//柱型点云测试
  cout << "Test PCL !" << endl;
  pcl::PointCloud<pcl::PointXYZRGB>::Ptr point\_cloud\_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
  uint8\_t r(255), g(15), b(15);
  for (float z(-1.0); z <= 1.0; z += 0.05) {//制作柱型点云集
  	for (float angle(0.0); angle <= 360.0; angle += 5.0) {
      pcl::PointXYZRGB point;
      point.x = cos (pcl::deg2rad(angle));
      point.y = sin (pcl::deg2rad(angle));
      point.z = z;
      uint32\_t rgb = (static\_cast<uint32\_t>(r) << 16 | static\_cast<uint32\_t>(g) << 8 | static\_cast<uint32\_t>(b));
      point.rgb = \*reinterpret\_cast<float\*>(&rgb);
      point_cloud_ptr->points.push\_back (point);
    }
    if (z < 0.0) {//颜色渐变
      r -= 12;
      g += 12;
    }
    else {
      g -= 12;
      b += 12;
    }
  }
  
  point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();
  point_cloud_ptr->height = 1;
 
  pcl::visualization::CloudViewer viewer ("pcl—test测试");

  viewer.showCloud(point_cloud_ptr); 
  while (!viewer.wasStopped()){ };
  return 0;
}

2、在test_pcl文件夹下再创建一个配置文件CMakeLists.txt,代码如下:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值