gcc --versiong++ --version
如果安装了anaconda需要先屏蔽掉。 1. 安装CUDA9.0
到NVIDIA官网下载CUDA9.0系统版本的对应的1个主安装包,4个补丁包。
cd到安装包和补丁包所在的文件夹
。
sudo sh cuda_9.0.176_384.81_linux.run
sudo sh cuda_9.0.176_384.81_linux.run
在安装时
除了显卡驱动项
不安装其他都yes。
sudo sh cuda_9.0.176.1_linux.runsudo sh cuda_9.0.176.2_linux.runsudo sh cuda_9.0.176.3_linux.runsudo sh cuda_9.0.176.4_linux.run
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run
四个补丁包默认yes或accept安装下去就行 2. 配置环境变量
在
Home目录
下【Ctrl+H】显示隐藏文件,进入
.bashrc
文件,在文件末尾添加两行:
export PATH=/usr/local/cuda-9.0/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
3. 安装cuDNN
重启计算机,下载与CUDA9.0相匹配的cuDNN安装包。然后解压,解压到原路径命令:
tar -zxvf filename -C ./
tar -zxvf filename -C ./
解压出来一个cuda文件夹,里面有一个include和一个lib64。
cd进入cuda文件夹
,执行以下命令:
4. 检查CUDA和cuDNN是否安装成功
nvcc--version
nvcc--version
cat /usr/local/cuda/include/cudnn.h | grepCUDNN_MAJOR -A 2
cat /usr/local/cuda/include/cudnn.h | grepCUDNN_MAJOR -A 2
5. OpenCV源码下载解压
到GitHub下载OpenCV源码https://github.com/opencv。需要下载的源码包有两个部分:opencv和opencv_contrib注意要 选择相同的版本 ,其中opencv_contrib是opencv的扩充。 解压两个部分,并且 将opencv_contrib放进opencv文件夹中 ,在opencv文件夹下 新建一个build文件夹 。 5. 安装cmake
先装cmake:
sudo apt-get install cmake
sudo apt-get install cmake
再装cmake-gui:
sudo apt-get install cmake-qt-gui
sudo apt-get install cmake-qt-gui
安装完之后运行cmake界面检查
cmake-gui
cmake-gui
6. 安装OpenCV所需的各种库
直接复制下面的命令,
一次性安装
。
sudo apt install -y \ x264 \ mesa-utils \ libgtk2.0-dev \ libxvidcore-dev \ yasm \ libxine2-dev \ libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ libv4l-dev \ libfaac-dev \ libmp3lame-dev \ libopencore-amrnb-dev \ libtheora-dev \ libvorbis-dev \ ffmpeg \ libpng-dev \ libdc1394-22-dev \ qt5-default \ libtiff5-dev \ libeigen3-dev libeigen3-doc \ tesseract-ocr \ tesseract-ocr-jpn \ vtk6 \ tcl-vtk6 \ python-vtk6 \ libgflags-dev \ libleptonica-dev \ libtesseract-dev \ gphoto2 \ liblapacke-dev \ libgoogle-glog-dev \ libprotobuf-dev \ libprotoc-dev \ protobuf-compiler \ ccache \ libgphoto2-dev \ libavresample-dev \ libvtk6-dev \ libvtk6-qt-dev \ libatlas-base-dev \ gfortran
sudo apt install -y \
x264 \
mesa-utils \
libgtk2.0-dev \
libxvidcore-dev \
yasm \
libxine2-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libv4l-dev \
libfaac-dev \
libmp3lame-dev \
libopencore-amrnb-dev \
libtheora-dev \
libvorbis-dev \
ffmpeg \
libpng-dev \
libdc1394-22-dev \
qt5-default \
libtiff5-dev \
libeigen3-dev libeigen3-doc \
tesseract-ocr \
tesseract-ocr-jpn \
vtk6 \
tcl-vtk6 \
python-vtk6 \
libgflags-dev \
libleptonica-dev \
libtesseract-dev \
gphoto2 \
liblapacke-dev \
libgoogle-glog-dev \
libprotobuf-dev \
libprotoc-dev \
protobuf-compiler \
ccache \
libgphoto2-dev \
libavresample-dev \
libvtk6-dev \
libvtk6-qt-dev \
libatlas-base-dev \
gfortran
7. 安装eigen
sudo apt-get install libeigen3-dev
sudo apt-get install libeigen3-dev
8. 装文档
sudo apt-get install doxygen
sudo apt-get install doxygen
9. 装TBB
第一个软件装不了,后来没装似乎也没啥影响。
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-devlibmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-devsudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils vtk6sudo apt-get install --assume-yes liblapacke-dev libopenblas-dev libgdal-devcheckinstall
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-devlibmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils vtk6
sudo apt-get install --assume-yes liblapacke-dev libopenblas-dev libgdal-devcheckinstall
10. 装lapack
sudo apt-get install libatlas-base-dev
sudo apt-get install libatlas-base-dev
在opencv/cmake/OpenCVFindOpenBLAS.cmake这个文件里里
增加2个路径
:
11. 装numpy
sudo apt install python3-pip
sudo apt install python3-pip
pip3 install numpy==1.5
pip3 install numpy==1.5
12. make设
置OpenCV的安装项
cd到build文件夹,cmake文件,这里make过程中出现什么错误可以对照cmake-gui将
不需用到的错误项OFF掉
,记住每次重新编译要删除原来build的文件夹。
这一步是编译过程中最容易出错的一部分,所以编译出错就将这一个项关闭掉,除了以下项之外,建议将
-DWITH_FFMPEG = ON
这一项打开,视频流解码时候应该会流畅一些。
cmake ~/software/opencv-4.2.0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=~/software/opencv-4.2.0/opencv_contrib-4.2.0/modules -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DWITH_TBB=ON -DBUILD_TIFF=ON -DWITH_TIFF=ON -DWITH_GDAL=ON -DWITH_LIBV4L=ON -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -DWITH_CUDA=ON -DWITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DWITH_OPENCL=OFF -DWITH_VTK=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_xfeatures2d=OFF -DCUDA_ARCH_BIN=5.3,6.0,6.1 -DBUILD_opencv_dnn=OFF -DOPENCV_DNN_CUDA=OFF -DOPENCV_DNN_OPENCL=OFF
cmake ~/software/opencv-4.2.0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=~/software/opencv-4.2.0/opencv_contrib-4.2.0/modules -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DWITH_TBB=ON -DBUILD_TIFF=ON -DWITH_TIFF=ON -DWITH_GDAL=ON -DWITH_LIBV4L=ON -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -DWITH_CUDA=ON -DWITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DWITH_OPENCL=OFF -DWITH_VTK=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_xfeatures2d=OFF -DCUDA_ARCH_BIN=5.3,6.0,6.1 -DBUILD_opencv_dnn=OFF -DOPENCV_DNN_CUDA=OFF -DOPENCV_DNN_OPENCL=OFF
13. 开8个线程进行编译
make -j8
make -j8
14. 安装编译后的文件
sudo make install
sudo make install
15. 编译后文件包转移
编译完之后将编译的 .so 的文件放进python3的site-package中。 16. 检查安装是否成功
import cv2