(一)依赖库
Boost:
sudo apt-get install libboost-all-dev
Eigen:
sudo apt-get install libeigen3-dev
FLANN:
sudo apt-get install libflann-dev
QT5:
sudo apt-get qt5-default
VTK8.1
下载:
官方下载地址 https://www.vtk.org/download/,下载所需版本后解压即可。
配置:
在解压目录下新建build, 在其中使用ccmake配置参数 。
1. 安装ccmake 和 VTK 的依赖项:
sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev
2. 配置VTK:
cd /home/Username/Download/VTK
mkdir build
cd build
ccmake ..
主要配置选项:
# 按照VTK tutorial要求,每设置完一项均按'c'进行一次configuration,直到所有项目设置完,
BUILD_SHARED_LIBS = ON
BUILD_TESTING = ON # 默认OFF,如果打开的话,编译时会由于下载测试数据所用url过旧而报错,建议OFF
CMAKE_BUILD_TYPE = Release # 默认Debug运行会较慢
CMAKE_INSTALL_PREFIX = /usr/local # 这里用默认就行,或者改到想要安装的位置
# 以下为高级设置,需先在命令行按't'才可见
VTK_FORBID_DOWNLOADS = ON # 默认OFF,建议打开,否则编译会报错,理由同BUILD_TESTING
# 此时应已经出现'g' generating 的按键选项,按 'g' 即完成配置.
3. 安装VTK:(会需要挺长时间)
cmake .
make
sudo make install
安装时可能会报错,报错内容记录如下:
a. CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR)
实际上VTK并不需要OpenGL作为前提条件,所以不用安装OpenGL,只要安装如下软件包即可:
sudo apt-get install freeglut3-dev
注:最烦的是安装完vtk8.1发现与pcl不兼容,所以只能卸载安装回vtk6.2
sudo apt-get install libvtk6-dev libvtk6.2 libvtk6-qt-dev
Opencv3.4.0
安装好VTK后再安装Opencv,其他依赖项可以参见另一条博客。
1.install numpy
sudo apt-get python-dev
sudo apt-get python3-dev
sudo apt-get install python-numpy
sudo apt-get install python3-numpy
2.配置
cmake
-D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D CMAKE_CXX_FLAGS="-std=c++11" #vtk8.1需要打开c++11
-D CUDA_NVCC_FLAGS="--compiler-options "-std=c++03""
-D INSTALL_C_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=ON
-D WITH_TBB=ON
-D WITH_V4L=ON
-D WITH_QT=ON
-D WITH_OPENGL=ON
-D WITH_CUDA=ON
-DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1
-D INSTALL_PYTHON_EXAMPLES=ON
-D BUILD_opencv_python3=ON
-D BUILD_opencv_python2=ON
-D BUILD_opencv_java=OFF
-D PYTHON3_EXECUTABLE=$(which python3)
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0
-D PYTHON3_NUMPY_PATH=/usr/local/lib/python3.5/dist-packages
-D PYTHON2_EXECUTABLE=$(which python2)
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
-D PYTHON2_NUMPY_PATH=/usr/local/lib/python2.7/dist-packages
-D OPENCV_EXTRA_MODULES_PATH=~/opencv3.4.0/opencv_contrib/modules
-D BUILD_EXAMPLES=ON ..
注:编译时可能找不到qt5.9.7,可以按照如下方案解决:
Open your .bashrc
file: gedit ~/.bashrc
add a line like following to the end of the .bashrc file:
export CMAKE_PREFIX_PATH=/usr/local/Qt5.5.1/5.5/gcc_64/lib/cmake
source ~/.bashrc
3.编译安装
sudo make
sudo make install
sudo make install 执行完毕后OpenCV编译过程就结束了。
由于这次是用系统自带的Python进行安装,如果之后安装了anaconda,则需要将一个.so文件放入python3.5的site-packages中。
使用系统自带的python2和python3编译分别会生成cv2.so和cv2.cpython-35m-x86_64-linux-gnu.so这就是我们分别在anaconda2和anaconda3中import的cv2模块。
因为我的是anaconda3,所以首先进入到~/opencv-3.4.0/build/lib/python3目录下将其中的cv2.cpython-35m-x86_64-linux-gnu.so复制到anaconda下。(如果是anaconda2就直接将cv2.so复制进去就可以了)
sudo cp cv2.cpython-35m-x86_64-linux-gnu.so /home/zy/anaconda3/lib/python3.5/site-packages/
然后改名sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
当然你不愿意复制也可以使用建立软链接的方式
ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so /anaconda3/lib/python3.5/site-packages/cv2.so
然后问题完美解决了。
(二)安装pcl1.8.0
1.有一些依赖项需要添加,由于之前安装过boost,eigen,flann,qt,vtk,可以跳过与这些相关的依赖项
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
2.安装可视化库依赖
安装OpenNI,OpenNI2
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
安装ensensor
sudo dpkg -i ensenso-sdk-2.2.147-x64.deb
sudo dpkg -i codemeter_6.80.3312.500_amd64.deb
这两个文件下载地址:
1、https://www.ensenso.com/support/sdk-download/
2、https://www.wibu.com/support/user/downloads-user-software.html
接下来
sudo apt-get -f install
2.下载pcl1.8.0
https://github.com/PointCloudLibrary
解压
sudo tar -zxvf pcl-pcl-1.8.0.tar.gz
3.安装
cd pcl-pcl-1.8.0 && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr
-DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON
-DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
编译时出现错误:
1)
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'joinMap'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/joinMap.dir/all' failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***
解决方法,执行
sudo apt-get install libproj-dev
2)
nvcc fatal : Unsupported gpu architecture 'compute_20'
通过很多途径了解到,出现这个错误的原因是,在cmake配置阶段,配置了当前版本cuda不支持的计算架构2.0。换句话说,就是cuda9.0不再支持compute_20(Fermi)。
您需要找到一个不调用该体系结构的makefile,或者编辑makefile(或CMakeLists.txt)以删除对compute_20 or sm_20 的引用。或者你可以切换到CUDA 8。
考虑删除对compute_20的支持,参考 vs2015+opencv3.3.0+cuda9.1编译,出现nvcc fatal : Unsupported gpu architecture 'compute_20'
cmake-gui,然后在CUDA_ARCH_BIN这个栏位,把支持的版本号"2.0, 2.1, 3.0, ..., 6.1"改为"3.0, 3.5,3.7,5.0,5.2,6.0, 6.1",就是删除对2.x的支持。重新cmake,make。
(三)测试
https://www.youtube.com/watch?v=5lU6RiS4pfE
最后
以上就是彪壮香氛最近收集整理的关于ubuntu16.04安装pcl1.8.0(一)依赖库(二)安装pcl1.8.0(三)测试的全部内容,更多相关ubuntu16内容请搜索靠谱客的其他文章。
发表评论 取消回复