82 lines
3.0 KiB
Bash
Executable File
82 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Shell script 4 build OpenCV on Jetson
|
|
#
|
|
# A modified version of the following script https://github.com/AastaNV/JEP/blob/master/script/install_opencv4.6.0_Jetson.sh
|
|
#
|
|
# Alexander Popov <iiiypuk@fastmail.fm>
|
|
# Update: 09.02.2024
|
|
|
|
# Variables
|
|
OPENCV_VERSION="4.8.0"
|
|
BUILD_FOLDER="opencv-${OPENCV_VERSION}-build"
|
|
# OPENCV_INSTALL_PREFIX="/usr/local"
|
|
OPENCV_INSTALL_PREFIX="/opt/opencv-${OPENCV_VERSION}"
|
|
|
|
# Step 1: Download OpenCV
|
|
echo "====================================="
|
|
echo "Step 1: Download OpenCV ${OPENCV_VERSION}..."
|
|
echo "====================================="
|
|
mkdir -p ${BUILD_FOLDER}; cd ${BUILD_FOLDER}
|
|
wget -c -q --show-progress https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv-${OPENCV_VERSION}.zip
|
|
wget -c -q --show-progress https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib-${OPENCV_VERSION}.zip
|
|
|
|
# Step 2: Unpack OpenCV
|
|
echo "Step 2: Unpack OpenCV ${OPENCV_VERSION}..."
|
|
unzip opencv-${OPENCV_VERSION}.zip
|
|
unzip opencv_contrib-${OPENCV_VERSION}.zip
|
|
cd opencv-${OPENCV_VERSION}/
|
|
|
|
# Step 3: Prepare build
|
|
echo "====================================="
|
|
echo "Step 3: Prepare build..."
|
|
echo "====================================="
|
|
mkdir -p build; cd build
|
|
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_CXX_FLAGS="-Ofast" \
|
|
-D CMAKE_INSTALL_PREFIX=${OPENCV_INSTALL_PREFIX} \
|
|
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${OPENCV_VERSION}/modules \
|
|
-D OPENCV_GENERATE_PKGCONFIG=ON \
|
|
-D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D WITH_OPENGL=ON -D WITH_QT=OFF -D WITH_FFMPEG=ON -D WITH_FREETYPE=ON \
|
|
-D BUILD_opencv_python3=OFF -D BUILD_opencv_python2=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \
|
|
-D BUILD_opencv_cudacodec=ON -D BUILD_opencv_cudacodec=ON -D BUILD_opencv_apps=OFF \
|
|
-D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF \
|
|
-D WITH_CUDA=ON -D CUDA_ARCH_BIN="7.2,8.7" -D ARCH=sm_87 -D gencode=arch=compute_87,code=sm_87 -D CUDA_ARCH_PTX="" \
|
|
-D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON \
|
|
-D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON -D WITH_CUBLAS=ON -D WITH_CUFFT=ON \
|
|
-D WITH_TBB=ON -D OPENCV_ENABLE_NONFREE=ON \
|
|
-D CUDNN_INCLUDE_DIR=/usr/include \
|
|
-D CUDNN_LIBRARY=/usr/lib/aarch64-linux-gnu/libcudnn.so \
|
|
..
|
|
|
|
# -D WITH_OPENMP=ON \
|
|
# -D WITH_NVCUVID=ON \
|
|
# -D WITH_CSTRIPES=ON \
|
|
# -D WITH_OPENCL=ON \
|
|
# -D OPENCV_PC_FILE_NAME=opencv.pc \
|
|
|
|
|
|
# Step 4: Build OpenCV
|
|
echo "====================================="
|
|
echo "Step 4: Build OpenCV..."
|
|
echo "====================================="
|
|
make -j$(nproc)
|
|
|
|
# Step 5: Install OpenCV
|
|
echo "====================================="
|
|
echo "Step 5: Install OpenCV ${OPENCV_VERSION}..."
|
|
echo "====================================="
|
|
sudo make install
|
|
|
|
# Step 6: Finally
|
|
echo "====================================="
|
|
echo " ####### ## ##"
|
|
echo "## ## ## ##"
|
|
echo "## ## ## ##"
|
|
echo "## ## #####"
|
|
echo "## ## ## ##"
|
|
echo "## ## ## ##"
|
|
echo " ####### ## ##"
|
|
echo
|
|
echo "Install OpenCV ${OPENCV_VERSION} complete"
|
|
echo "====================================="
|