Jetson TX2 OpenCV 3.4.0ビルド

事前準備

まずは必要なモジュールをインストールしていきます。

開発ツール、フレームワーク等

sudo apt-get install cmake
sudo apt-get install libeigen3-dev
sudo apt-get install libgtk-3-dev qt5-default freeglut3-dev libvtk6-qt-dev
sudo apt-get install libtbb-dev
sudo apt-get install libhdf5-dev

画像系ライブラリ

sudo apt-get install libjpeg-dev libjasper-dev libpng++-dev libtiff-dev libopenexr-dev libwebp-dev

Python

sudo apt-get install libpython2.7-dev libpython3.5-dev
sudo apt-get install python-numpy python-scipy python-matplotlib
sudo apt-get install python3-numpy python3-scipy python3-matplotlib

その他

WITH_LAPACKをONにしてOpenBLASやATLASを使う場合はインストールしておきます。

OpenBLAS

sudo apt-get install libopenblas-dev liblapacke-dev

ATLAS

sudo apt-get install libatlas-base-dev liblapacke-dev

OpenCV インストール

作業時点での最新版は3.4.1であったが、3.4.1はC++のAPIにバグがありyolo等を入れる際にうまくいかない可能性があるとの情報があったため、3.4.0をインストールしました。

OpenCVダウンロードと展開

wget https://github.com/opencv/opencv/archive/3.4.0.tar.gz
tar xvf 3.4.0.tar.gz

CMake

OpenCV3.4.0を展開したディレクトリに入り、buildディレクトリを作成、さらにbuildディレクトリに入ってcmakeを実行します。

mkdir build
cd build

cmake \
-D BUILD_opencv_python2=ON \
-D BUILD_opencv_python3=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_CUDA_STUBS=OFF \
-D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=OFF \
-D BUILD_JASPER=OFF \
-D BUILD_JPEG=OFF \
-D BUILD_OPENEXR=OFF \
-D BUILD_PACKAGE=ON \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_PNG=OFF \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_TBB=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_TIFF=OFF \
-D BUILD_WITH_DEBUG_INFO=ON \
-D BUILD_ZLIB=OFF \
-D BUILD_WEBP=OFF \
-D BUILD_opencv_apps=ON \
-D BUILD_opencv_calib3d=ON \
-D BUILD_opencv_core=ON \
-D BUILD_opencv_cudaarithm=ON \
-D BUILD_opencv_cudabgsegm=ON \
-D BUILD_opencv_cudacodec=OFF \
-D BUILD_opencv_cudafeatures2d=ON \
-D BUILD_opencv_cudafilters=ON \
-D BUILD_opencv_cudaimgproc=ON \
-D BUILD_opencv_cudalegacy=ON \
-D BUILD_opencv_cudaobjdetect=ON \
-D BUILD_opencv_cudaoptflow=ON \
-D BUILD_opencv_cudastereo=ON \
-D BUILD_opencv_cudawarping=ON \
-D BUILD_opencv_cudev=ON \
-D BUILD_opencv_dnn=ON \
-D BUILD_opencv_features2d=ON \
-D BUILD_opencv_flann=ON \
-D BUILD_opencv_highgui=ON \
-D BUILD_opencv_imgcodecs=ON \
-D BUILD_opencv_imgproc=ON \
-D BUILD_opencv_java=OFF \
-D BUILD_opencv_ml=ON \
-D BUILD_opencv_objdetect=ON \
-D BUILD_opencv_photo=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_shape=ON \
-D BUILD_opencv_stitching=ON \
-D BUILD_opencv_superres=ON \
-D BUILD_opencv_ts=ON \
-D BUILD_opencv_video=ON \
-D BUILD_opencv_videoio=ON \
-D BUILD_opencv_videostab=ON \
-D BUILD_opencv_viz=ON \
-D BUILD_opencv_world=OFF \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CUDA_ARCH_BIN="6.2" \
-D CUDA_ARCH_PTX="6.2" \
-D CV_TRACE=OFF \
-D ENABLE_CXX11=ON \
-D WITH_1394=ON \
-D WITH_CAROTENE=ON \
-D WITH_CUBLAS=ON \
-D WITH_CUDA=ON \
-D WITH_CUFFT=ON \
-D WITH_EIGEN=ON \
-D WITH_FFMPEG=ON \
-D WITH_GDAL=OFF \
-D WITH_GPHOTO2=OFF \
-D WITH_GIGEAPI=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GTK=ON \
-D WITH_INTELPERC=OFF \
-D WITH_IPP=OFF \
-D WITH_IPP_A=OFF \
-D WITH_ITT=OFF \
-D WITH_JASPER=ON \
-D WITH_JPEG=ON \
-D WITH_LIBV4L=ON \
-D WITH_OPENCL=OFF \
-D WITH_OPENCLAMDBLAS=OFF \
-D WITH_OPENCLAMDFFT=OFF \
-D WITH_OPENCL_SVM=OFF \
-D WITH_OPENEXR=ON \
-D WITH_OPENGL=OFF \
-D WITH_OPENNI=OFF \
-D WITH_PNG=ON \
-D WITH_PTHREADS_PF=ON \
-D WITH_PVAPI=ON \
-D WITH_QT=OFF \
-D WITH_TBB=OFF \
-D WITH_TIFF=ON \
-D WITH_UNICAP=OFF \
-D WITH_V4L=OFF \
-D WITH_VTK=ON \
-D WITH_WEBP=ON \
-D WITH_XIMEA=OFF \
-D WITH_XINE=OFF \
..

makeしてインストールします。

make -j `nproc`
sudo make install
/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

参考サイト

Jetson TX2 OpenCV 3.4.0ビルドにコメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です