Ubuntu18.04にOpenCV3.4.9をGPU搭載のラップトップ用にソースからビルドしインストールしたときのメモ。GPUを使いたいのでソースからビルドした。インストール方法は以下のリンクの手順を参考にした。
環境
- Laptop
- Razer Blade 15
(CPU: Intel i7-8750H, Memory:16GB, GPU: Nvidia 1070 Max-Q Design, Memory: 8GB)
- Razer Blade 15
- Linux
- Voyager 18.04.3 (xubuntu18.04.3)
- Kernel 5.0.0.-37-generic
- gcc/g++ 7.4.0
- CUDA 10.2
- python3.6
準備
$ sudo apt install build-essential ccache$ sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev tesseract-ocr libtesseract-dev$sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev$ sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk2.0-dev libgtk-3-dev libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev
- python3関連のインストール
$ sudo apt install python3-dev python3-numpy$ sudo apt install python3-pip
- python2関連のインストール
$ sudo apt install python-dev python-numpy
ソースコードのダウンロード
$ cd$ mkdir src$ cd src- 以下をクリックしてopencv-3.4.9を~/srcにダウンロードする。
$ unzip opencv-3.4.9.zip$ ln -s opencv-3.4.9 opencv- 以下をクリックしてopencv_contrib-3.4.9をダウンロードする。
$ unzip opencv_contrib-3.4.9.zip$ ln -s opencv_contrib-3.4.9 opencv_contrib
ソースのビルド
$ cd ~/src/opencv$ mkdir build$ cd build$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/src/opencv_contrib/modules -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_VTK=ON -D INSTALL_C_EXAMPLES=ON -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/include/python3.6m/numpy -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_OPENGL=ON -D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.1" -D CUDA_ARCH_PTX="6.1" -DBUILD_opencv_cudacodec=OFF ..$ make -j$(nproc)- 私の環境では、コンパイルが終わるまで20分ぐらいかかった。
インストール
$ sudo make install$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'$ sudo ldconfig
テスト
- CUDAを有効にしてソースからビルドしたので、gpuを使うexample_gpu_opticalflowを試す。
$ cd ~/src/opencv/build$ cp -aur ~/src/opencv/samples/data .$ cd ~/src/opencv/build/bin$ ./example_gpu_opticalflow- 端末に下のような結果とウインドウが表示されれば成功。私の環境ではウインドウが重なっていたので、移動して並べた結果。お疲れ様!
- Usage : ./example_gpu_optical_flow <frame0> <frame1>
Brox : 0.146902 sec
LK : 0.0252506 sec
Farn : 0.0109897 sec
TVL1 : 0.205551 sec
- Usage : ./example_gpu_optical_flow <frame0> <frame1>



コメント