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
参考サイト