This commit is contained in:
Alexander Popov 2024-02-09 23:22:42 +03:00
commit 08a701bea1
4 changed files with 120 additions and 0 deletions

12
.editorconfig Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
opencv-4.*.*-build

81
Install_OpenCV_4.8.0_Jetson.sh Executable file
View File

@ -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 <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 "====================================="

26
README.md Normal file
View File

@ -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.