commit 08a701bea195c889652b4494110d464fb5c14668 Author: Alexander Popov Date: Fri Feb 9 23:22:42 2024 +0300 Start :) diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..779f99a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..928a09d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +opencv-4.*.*-build diff --git a/Install_OpenCV_4.8.0_Jetson.sh b/Install_OpenCV_4.8.0_Jetson.sh new file mode 100755 index 0000000..cc35d2a --- /dev/null +++ b/Install_OpenCV_4.8.0_Jetson.sh @@ -0,0 +1,81 @@ +#!/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 +# 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 "=====================================" diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e07f31 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Скрипт для сборки OpenCV на Jetson + +## Как использовать + +## Зависимости + +### ЧТОТА? + +```shell +apt install libgtkglext1-dev libgtkglext1 libavresample-dev libavresample4 +apt install libgtk2.0-dev libgtk-3-dev +``` + +## TODO + +Добавить шаг удаления системных библиотек OpenCV + +```shell +sudo apt -y purge *libopencv* +``` + +## Справочная информация + +### #1: IPP is provided for x86-only for now + +Don't use `-D WITH_IPP=ON` flag.