OpenCVをCUDA対応版でインストールしようとするといろいろエラーで躓いたので、とりあえずうまくいった方法をメモっておきます
##実施環境、バージョン
OS : Ubuntu16.04
GPU : GeForce GTX 1660Ti
CUDA : 10.1
cuDNN : 7.6.5
##事前準備
- Python3のヘッダーとライブラリをインストール
- JPEG, PNG, TIFFなどの画像処理に対応
- ムービー処理に対応
- GUI操作のためのGTKライブラリに対応
- 様々なOpenCVの関数の最適化に対応
・・・など(以下を順次実行)
sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install python-dev python3-dev python-numpy libtbb2
sudo apt-get install qtbase5-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install freeglut3 freeglut3-dev libtbb-dev
sudo apt-get install libjpeg8-dev libpng-dev libtiff5-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
##OpenCVインストール- OpenCVのダウンロード
※特定のバージョンにする場合はバージョンを指定してclone
git clone https://github.com/itseez/opencv.git
git clone https://github.com/itseez/opencv_contrib.git
cd opencv
mkdir build
cd build
- cmakeの実行(CUDA使用有無に合わせて下記どちらかのコマンドを実行)
--- CUDA対応有りビルド用 ---
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_TESTS=ON \
-D WITH_PYTHON=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D PYTHON_DEFAULT_EXECUTABLE=python3 \
-D WITH_MKL=ON \
-D WITH_CUDA=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_CUDNN=ON \
-D WITH_NVCUVID=OFF \
-D OPENCV_DNN_CUDA=OFF \
-D BUILD_opencv_cudaimgproc=OFF \
-D BUILD_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON ..
--- CUDA対応無しビルド用 ---
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_TESTS=ON \
-D WITH_PYTHON=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D PYTHON_DEFAULT_EXECUTABLE=python3 \
-D BUILD_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON ..
ビルド&インストール
make -j$(nproc)
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
##インストール確認
以下のコードを実行してバージョンが表示されればOK
python3 -c "import cv2; print( cv2.__version__ )"