为了标注点云数据,经过多方查找免费开源的标注软件,根据使用要求和方便程度最终选择了这款可以在Windows下编译安装的point-cloud-annotation-tool,基于QT和vtk和PCL进行编译使用项目github链接链接:https://github.com/springzfx/point-cloud-annotation-tool
项目中说的是:
Tested with pcl 1.8, vtk 8.1, Qt5 under both ubuntu 16.04 and windows 10. to build:
下面介绍我的配置:
一. 配置
(1)笔记本配置Win10 ,x64,16G内存,i7-9750H
(2)安装Visual Studio 2015,这个安装简单不废话。
(3)安装Qt,我安装的为Qt5.7.0(MSVC2015),清华大学开源镜像网站下载,直接按照步骤安装即可,安装完添加环境变量。
(4)pcl1.8.1,github下载PCL-1.8.1-AllInOne-msvc2015-win64和源码
(5)pcl1.8.1对应的vtk版本为vtk8.0,下载vtk源码,vtk源码托关于gitlab,直接搜索对应版本下载。
(6)在windows下编译源码需要cmake工具,我下载的cmake版本为cmake-3.16.3-win64-x64,直接exe可以安装。
(7)下载point-cloud-annotation-tool源码
二. 安装软件
(1)在D盘(这个随意)新建文件夹cmake,qt570,PCL_181,VTK8.0,pcd_annotation_tool。
(2)安装cmake到cmake文件夹下,在bin目录存在cmake-gui,cmake的配置界面,后面源码的编译就在这配置。
(3)安装qt5.7.0到qt570目录,添加path环境变量
D:\qt570\Tools\QtCreator\bin
D:\qt570\Tools\QtCreator\bin
(4)安装PCL-1.8.1-AllInOne-msvc2015-win64到PCL_181,注意勾选第三方库3rd Party,添加环境变量到所有用户,出现OpenNI2安装对话框时选择安装目录为:
D:\PCL_181\PCL1.8.1\3rdParty\OpenNI2
安装完后在环境变量中添加第三方库的路径:
D:\PCL_181\PCL1.8.1\bin;
D:\PCL_181\PCL1.8.1\3rdParty\Boost\include\boost-1_64;
D:\PCL_181\PCL1.8.1\3rdParty\Boost;
D:\PCL_181\PCL1.8.1\3rParty\Eigen\eigen3;
D:\PCL_181\PCL1.8.1\3rdParty\FLANN\bin;
D:\PCL_181\PCL1.8.1\3rdParty\Qhull\bin;
D:\PCL_181\PCL1.8.1\3rdParty\VTK\bin;
D:\PCL_181\PCL1.8.1\3rdParty\OpenNI2\Tools;
三. 编译软件
1. 编译vtk
(1)将vtk8.0源码解压到VTK8.0目录,在目录下新建文件夹vtk-8_build,vtk-8_install,分别用于存放编译和安装文件。
打开cmake-gui界面,选择vtk8-vtk8.0.0源码和vtk-8_build目录,点击Configure,选择编译平台为x64,会出现红色条目:
主要注意BUILD_SHARED_LIBS,CMAKE_INSTALL_PREFIX几项。然后再点击Configure直到不再出现红色,最后点击Generate,用管理员权限打开VS2015,打开VTK.sln,选择Release,右击ALL_BUILD选择重新生成,然后右键INSTALL选择生成。
(2)安装VTK
用编译生成的vtk-8_install内容,将PCL_181里面自带的VTK下内容替换(不放心可以备份一下)
2. 编译PCL
利用cmake-gui按照编译VTK的方式编译pcl,配置pcl,去掉WITH_CUDA,CMAKE_BUILD_TYPE改为Release,CMAKE_INSTALL_PREFIX改为安装目录,多次Configure后Generate,打开VS2015编译Release版本的pcl,然后INSTALL生成,最后把生成的目录替换原PCL_181/PCL1.8.1/,具体可参考:参考文章(2)
3. 编译point-cloud-annotation-tool
编译完成后打开VS,Release版本编译,设置point_cloud_annotation_tool为启动项,点击运行,成功!
遇到问题多尝试,发现问题,然后解决问题,Constant effort yield for sure!时间匆忙,待我改日再补充debug细节。
备注:最近几天看了好多标注软件,商用的或者开源的,要想不花钱,就得麻烦点开源的存在各种毛病,需要根据自己需求编写或者修改标注软件,这个软件还有许许多需要改进的地方。
比如(1)不能选择下一帧数据,每次都要打开文件,保存文件,而且标注错了保存后可以修改,但是不能删除,必须打开标注文件手动删除后保存,再加载点云。
(2)而且标注的没有序号,可以后期自己加上,每次标注完可以点击下一帧自动保存,防止忘记保存丢失数据。
(3)可以设置一个俯视按钮,直接将点云设置为俯视显示方便标注,
(4)地面去除有待改进使用起来不是太清楚。
(5)可以设置一个选择XYZ点云范围的滑动条,删除道路边界不需要考虑的标注部分。
(6)待我继续使用思考。。。
主要参考文章:(1)Point-Cloud-Annotation-Tool安装
https://blog.csdn.net/r1141207831/article/details/103881962
(2)在Windows 10上源码编译PCL 1.8.1支持VTK和QT,可视化三维点云
https://www.jianshu.com/p/b022a9c93d8f
(3)How to use PCL with Qt GUI
http://unanancyowen.com/en/pcl-with-qt/
(4) VTK8.2.0在Windows10+VS2017+Qt 5.12环境下编译安装
https://blog.csdn.net/annjeff/article/details/88597051
(5)打开cmd,cd到存放lib文件的目录中,输入指令:dir *.lib /b >LIBLIST.TXT,此时LIBLIST.TXT会保存所有的lib文件
Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0(踩坑大全)
https://blog.csdn.net/weixin_39871164/article/details/102879962
作者:龙性的腾飞