赞
踩
查看Github项目中的指导操作
> cd Livox-SDK2
> md build && cd build
因为原程序包支持2019,所以得另外下载VS2019,网上有提供正版社区版的安装教程。
但是,为了节省时间,这边选择使用VS2015进行项目的构建。
命令为
cmake .. -G "Visual Studio 14 2015" -A x64
得注意的是,一定是“release“环境下进行编译,而不是”debug“
运行命令
.\livox_lidar_quick_start.exe config.json
注意要加".",这样做是 PowerShell 中的安全策略导致的,默认情况下 PowerShell 会阻止执行在当前位置找到的未知命令,以避免恶意代码的潜在风险。
叙述了点云数据处理的几个方面以及发展历程和未来方向:
去噪:基于优化的方法和基于深度学习的方法
补全:对细节(如电线杆等薄结构)补全不够;实时补全的能力不够(自动驾驶领域);泛化能力
配准:泛化能力、精度问题、效率问题
分割:机器学习和深度学习的方法
表面重建:从离散点云中获得一个连续表面;现有方法可以分为基于三角剖分的方法、隐式方法和基于深度学习的方法。
展望:
①发展点云大数据的储存与更新机制,为点云的高效、深度利用提供基础支撑;
②建立面向新型基础测绘的点云三维信息提取与建模的行业和国家标准,服务实景三维中国建设和自然资源监测;
③发展面向地球大数据的点云精准理解、综合人工智能、深度学习等,建立点云大数据对象化深度学习网络,在全球、区域、单体对象上对场景精准理解;
④研制采集、处理与服务一体化的智能装备,服务重大基础设施(如:电网、高铁、交通等)健康管理。
开机密码:xst528528
终端
Ctrl+Alt+T //打开终端
Ctrl+d //关闭终端
Ctrl+L //清空
关机:
sudo shutdown -h 18:00 18点关机
sudo shutdown -r now 立即重启
sudo shutdown -h now 立即关机
查看版本
输入uname - a 操作系统的发行版号和操作系统版本。
输入uname -v 查看版本号。
lsb_release -a 查看发行版本信息,并且方法可以适用于所有的Linux发行版本。
cat /etc/issue 查看到当前是Linux什么版本系统。
cat /proc/version 查看内核的版本号。
黏贴复制
ctrl+shift+c
ctrl+shift+v
文件切换
cd ~/Desktop //切换到home目录下的桌面文件夹 “~”就是指主目录home
cd C++Build //切换到某文件下的 相对文件夹
cd //返回主目录(/home/)
cd ~ //返回主目录
cd .. //返回上一级目录
cd xx //进入xx目录中(xx必须在当前目录中)
ls //查看所有没被隐藏文件
ls -a //查看文件夹下所有文件(包括隐藏文件)
ls -l //查询 文件夹下文件的详细信息
ls -al //查看文件夹下所有文件信息(隐藏文件)
vim xxx //打开文件 或者新建这个文件
: //进行vim命令输入
:q /退出
:wq //保存并退出
“三部曲”
g++ -Wall test.cpp -o test
g++ test.cpp //似乎不用
./test
成功编译
可以使用VSCode对C++项目使用图形化界面进行编译
直接下载会有很多报错(比如缺少关联信息,版本不匹配等)
有人直接打包好各种安装软件,输入一条命令即可傻瓜式安装可以少走很多弯路。
因为Livox SDK2是打包好的cmake项目
我的理解是,首先C++文件都是先编译后运行!那为什么 我们平常在Windows+VS2015的环境中写C++项目,只要点击“运行”按钮就可以直接跳出运行结果呢?王师兄的观点上,因为VS2015是在你写代码的同时在后台已经同步编译了!
在乌班图系统+VScode下的C++项目,一般都会有很多源文件(A.cpp、B.cpp、C.cpp等等)和头文件(A.h,B.h,C.h等等),那我们是不是得一个个去编译呢?CMake的出现应该(我的理解,再强调一遍,仅供参考)就是为了可以统一编译所有头文件。这样一行命令(cmake)就批量解决了。
因为我之前编译过SDK的项目,编译后生成了build文件,再此又把整个文件夹移动了位置。
然后我在代码中做了修改,这时再编译,需要把build文件夹里的内容全部删除,重新编译(原因是我换了文件夹位置)
使用两个命令
cmake ..
make -j //make也行 加了-j是为了高效率的批量构建文件
//运行的代码
cd samples/livox_lidar_quick_start && ./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/hap_config.json
还别说,VSCode就是个高级的文本编译器,高级在于它可以提供代码提示,可以装各种编程插件,但是本质应该还是个文本编译器。
输出data 这说明我们获取的事LivoxLidarCartesianHighRawPoint(单位是毫米)
如果前方无物体(或者物体超出范围) 则返回(0,0,0)
把x,y,z给清洗出来(去除零值),然后实时读取到txt中,最后再将txt转为las格式
有一个在线可视化的网站:http://lasviewer.bimant.com/
点云的坐标(x,y,z)是以雷达镜头为原点坐标的坐标系下的。x,y,z代表被测点与镜头的相对距离,比如(10,0,0)应该就代表距离镜头x方向10mm的一点。
为了跳过生成“txt”这个步骤,可以直接产生las文件,需要动态的将点云数据写入到las文件中去。
利用C++ 写入las文件需要三个库,先后顺序分别是boost,libgeotiff,liblas库。
不用去官网下砸压缩包再解压什么的,可以通过ubuntu20.04自己的镜像源进行下载。参考这篇文章。
1.打开终端,更新软件安装列表
sudo apt update
2.安装boost库
sudo apt install libboost-all-dev
3.等待安装完成,检查boost的版本:
dpkg -s libboost-all-dev | grep Version
截图如下:
在vscode里输入代码,点击运行,如果终端正确输出,则代表安装成功
参考这篇文章
需要注意的是,安装libgeotiff前得先安装libtiff,不然在安装“libgeotiff”时会报错~~需要对libxtiff进行大量的改写或修改。
具体内容为:“configure: error: You will need to substantially rewrite libxtiff to build libgeotiff without libtiff”
sudo apt-get install libtiff-dev //安装libtiff
sudo apt-get install libproj-dev //安装libproj
然后再安装libgeotiff,因为我是ubuntu20.04版本,所以1.3.0的libgeotiff我没装成功
#下载
wget https://download.osgeo.org/geotiff/libgeotiff/libgeotiff-1.6.0.tar.gz
# 解压
tar -zxvf libgeotiff-1.6.0.tar.gz
# 解压后进入文件夹
cd libgeotiff-1.6.0
#运行配置文件
./configure
make
sudo make install
#解压文件 tar -jxvf libLAS-1.8.1.tar.bz2 #进入目录 cd libLAS-1.8.1 #创建文件夹并进入 mkdir build && cd build #构建项目 cmake .. #生成可执行文件 make #编译 sudo make install
找来一个las文件,把它放到ubuntu的某一目录下(比如桌面上)
运行命令
lasinfo /home/ubuntu/Desktop/C++Build/data/room.las
报错了:
error while loading shared libraries: liblas.so.3: cannot open shared object
sudo /sbin/ldconfig
然后再输入命令
lasinfo /home/ubuntu/Desktop/C++Build/data/room.las
就会看到相应的信息被打印出来
cmake_minimum_required(VERSION 3.0) project(livox_sdk2) set(CMAKE_CXX_STANDARD 11) find_package(libLAS REQUIRED) message(STATUS "main project dir: " ${PROJECT_SOURCE_DIR}) if (CMAKE_CROSSCOMPILING) set(THREADS_PTHREAD_ARG "PLEASE_FILL_OUT-FAILED_TO_RUN" CACHE STRING "Result from TRY_RUN" FORCE) endif() if (UNIX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") endif(UNIX) include_directories("/usr/local/include/liblas/") link_directories("/usr/local/lib") add_executable (main "/home/ubuntu/Desktop/C++Build/Livox-SDK2/samples/livox_lidar_quick_start/main.cpp") add_subdirectory(sdk_core) add_subdirectory(samples) target_link_libraries (main "/usr/local/lib/liblivox_lidar_sdk_shared.so" "/usr/local/lib/liblas.so.2.4.0")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。