sudo apt update sudo apt upgrade sudo apt install build-essential cmake pkg-config unzip yasm git checkinstall sudo apt install libjpeg-dev libpng-dev libtiff-dev sudo apt install libavcodec-dev libavformat-dev libswscale-dev libavresample-dev sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev sudo apt install libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev sudo apt install libfaac-dev libmp3lame-dev libvorbis-dev sudo apt install libopencore-amrnb-dev libopencore-amrwb-dev sudo apt-get install libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils cd /usr/include/linux sudo ln -s -f ../libv4l1-videodev.h videodev.h cd ~ sudo apt-get install libgtk-3-dev sudo apt-get install python3-dev python3-pip sudo -H pip3 install -U pip numpy sudo apt install python3-testresources sudo apt-get install libtbb-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get install libprotobuf-dev protobuf-compiler sudo apt-get install libgoogle-glog-dev libgflags-dev sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen cd ~ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip unzip opencv.zip unzip opencv_contrib.zip echo "Create a virtual environment for the python binding module" sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/.cache/pip echo "Edit ~/.bashrc" export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv cv -p python3 pip install numpy echo "Procced with the installation" cd opencv-4.2.0 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_C_COMPILER=/usr/bin/gcc-8 \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D WITH_TBB=ON \ -D WITH_CUDA=ON \ -D BUILD_opencv_cudacodec=OFF \ -D ENABLE_FAST_MATH=1 \ -D CUDA_FAST_MATH=1 \ -D WITH_CUBLAS=1 \ -D WITH_V4L=ON \ -D WITH_QT=OFF \ -D WITH_OPENGL=ON \ -D WITH_GSTREAMER=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_PC_FILE_NAME=opencv.pc \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_PYTHON3_INSTALL_PATH=~/.virtualenvs/cv/lib/python3.8/site-packages \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.2.0/modules \ -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \ -D BUILD_EXAMPLES=ON \ -D WITH_CUDNN=ON \ -D OPENCV_DNN_CUDA=ON \ -D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so.7.6.5 \ -D CUDNN_INCLUDE_DIR=/usr/local/cuda/include \ -D CUDA_ARCH_BIN=7.5 .. nproc make -j8 sudo make install sudo /bin/bash -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf' sudo ldconfig # For Each Environment sudo cp -r ~/.virtualenvs/cv/lib/python3.8/site-packages/cv2 /usr/local/lib/python3.8/dist-packages echo "Modify config-3.8.py to point to the target directory" sudo nano /usr/local/lib/python3.8/dist-packages/cv2/config-3.8.py ``` PYTHON_EXTENSIONS_PATHS = [ os.path.join('/usr/local/lib/python3.8/dist-packages/cv2', 'python-3.8') ] + PYTHON_EXTENSIONS_PATHS ```