トップページ -> コンピュータ -> Ubuntu -> OpenCV 最新版 (バージョン 4.1.0) のビルドとインストール,CUDA 対応可能(OpenCVサイトからソースコードをダウンロード)(Ubuntu 18.04 上)
[サイトマップへ], [サイト内検索へ],

OpenCV 最新版 (バージョン 4.1.0) のビルドとインストール,CUDA 対応可能(OpenCVサイトからソースコードをダウンロード)(Ubuntu 18.04 上)

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

ユースケース.OpenCV の最新版を追いかけたい場合.自分の環境にあわせてビルドしたい(NVidia CUDA を使うなど)場合

目次

  1. 前準備
  2. Ubuntu で OpenCV のビルドとインストール(OpenCV サイトから最新版をダウンロード)

先人に感謝.


前準備

Ubuntu のシステム更新

端末で,次のコマンドを実行.

sudo apt update
sudo apt -yV upgrade
sudo shutdown -r now

Python3 開発用ファイル,セットアップツール,pip,numpy のインストール

端末で,次のコマンドを実行.

sudo apt -yV install python3-dev python3-setuptools python3-pip python3-numpy

git, cmake 最新版, wget, p7zip-full のインストール

  1. 端末を開く

  2. git, wget, p7zip-full のインストール

    端末で,次のコマンドを実行.

    sudo apt -yV install git wget p7zip-full
    

  3. cmake 最新版のインストール

    手間は少しかかるが,後ほど OpenCV で cmake するときのエラー(ファイルをダウンロードできないエラー)を回避するために, cmake 最新版をインストールする.

    端末で,次のコマンドを実行.

    sudo apt -yV install build-essential
    cd /tmp
    git clone https://github.com/Kitware/CMake.git
    cd CMake
    # cmake には curl, zlib が必要
    sudo apt -yV install zlib1g-dev libcurl4-openssl-dev
    ./configure --system-curl --system-zlib
    make
    sudo make install
    

プログラミングやフリーソフトウエア・インストールのため揃えたいソフト

端末で,次のコマンドを実行.

sudo apt -yV install build-essential gcc g++ dpkg-dev pkg-config
sudo apt -yV install make  autoconf automake flex bison clang binutils swig curl
sudo apt -yV install subversion ccache
sudo apt -yV install zip unzip
sudo apt -yV install libopenblas-dev liblapack-dev libtbb-dev
sudo apt -yV install libxi-dev libsndfile1-dev libopenexr-dev libjpeg-dev libalut-dev libsdl-dev libavdevice-dev libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libx264-dev libxvidcore-dev libmp3lame-dev libspnav-dev libglu1-mesa-dev libv4l-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler libgoogle-glog-dev libhdf5-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev
sudo apt -yV install libbz2-dev libsqlite3-dev libssl-dev libreadline-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev libgtk2.0-dev
sudo apt -yV install libgtk-3-dev libatlas-base-dev gfortran 

Intel MKL, Intel TBB, Intel MPI, Intel Distribution for Python

Intel社による説明Webページ https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo

バージョンは「sudo apt install intel-mkl-64bit intel-tbb intel-mpi」の実行で調べることができる.

端末で,次のコマンドを実行.

cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
cd /etc/apt/sources.list.d
sudo rm -f intelproducts.list
sudo wget https://apt.repos.intel.com/setup/intelproducts.list 
sudo apt update
sudo apt install intel-mkl-64bit-2019.4-070 2019.4-070 intel-tbb-2019.6-070 2019.6-070 intel-mpi-2019.4-070 2019.4-070 intelpython3

NVIDIA グラフィックスカードの確認とドライバのインストール,NVIDIA CUDA ツールキット,NVIDIA cuDNN 再配布パッケージのインストール

Ubuntu での手順は,「別のページ」で説明している. NVIDIA グラフィックスカードがある場合のみ行うこと.


Ubuntu で OpenCV のビルドとインストール

  1. 前提ソフトウエア類

    端末で,次のコマンドを実行.

    sudo apt -yV install openalpr openalpr-utils libopenalpr-dev
    sudo apt -yV install openni2-utils libopenni2-dev
    sudo apt -yV install primesense-nite-nonfree
    sudo apt -yV install libpcl-dev
    sudo apt -yV install libguava-java
    sudo apt -yV install python-dev python3-dev pylint pylint3 flake8 python-flake8 python3-flake8
    

  2. ソースコードのダウンロードと cmake の実行

    端末で,次のコマンドを実行.

    cd /tmp
    rm -rf opencv
    git clone https://github.com/opencv/opencv.git
    cd /usr/local
    sudo rm -rf opencv_contrib
    sudo git clone https://github.com/opencv/opencv_contrib.git
    cd /tmp
    cd opencv
    rm -rf build
    mkdir build
    cd build
    CUDA_PATH="/usr/local/cuda-10.0" CFLAGS="-I/usr/local/cuda-10.0/include" LDFLAGS="-L/usr/local/cuda-10.0/lib64" \
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
          -D CMAKE_INSTALL_PREFIX=/usr/local \
          -D OPENCV_EXTRA_MODULES_PATH=/usr/local/opencv_contrib/modules \
          -D INSTALL_TESTS=ON \
          -D INSTALL_C_EXAMPLES=ON \
          -D WITH_PYTHON=ON \
          -D INSTALL_PYTHON_EXAMPLES=ON \
          -D BUILD_opencv_python2=OFF \
          -D BUILD_opencv_python3=ON \
          -D PYTHON_DEFAULT_EXECUTABLE=python3 \
          -D OpenBLAS_INCLUDE_DIR=/usr/include/x86_64-linux-gnu \
          -D OpenBLAS_LIB=/usr/lib/x86_64-linux-gnu/libopenblas.so \
          -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=ON \
          -D CUDA_ARCH_PTX=7.5 \
          -D BUILD_EXAMPLES=ON ..
    
          -D BUILD_opencv_cudaimgproc=OFF \
    

    補足説明

  3. cmake の結果の確認

    エラーメッセージが出ていないこと

  4. ビルド

    端末で,次のコマンドを実行.

    CUDA_PATH="/usr/local/cuda-10.0" CFLAGS="-I/usr/local/cuda-10.0/include" LDFLAGS="-L/usr/local/cuda-10.0/lib64" \
    make -j4
    

  5. ビルドの結果の確認

    エラーメッセージが出ていないことを確認

  6. インストール

    端末で,次のコマンドを実行.

    sudo make install
    sudo /sbin/ldconfig
    

  7. インストールの結果の確認

    エラーメッセージが出ていないことを確認

  8. バージョン確認

    ※ バージョン番号が表示されれば OK.

    python3 -c "import cv2; print( cv2.__version__ )"
    

  9. プログラムを動かしてみる

    Python プログラムを動かしたい. そのために,「Python コンソール」を使う.

    PyCharmspyder を使うのが簡単.

    import cv2
    CVSAMPLEDAT="/usr/local/share/opencv4/samples/data/"
    bgr = cv2.imread(CVSAMPLEDAT + "fruits.jpg")
    cv2.imshow("", bgr)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる