0. Preparativos previos

  1. Comprueba que tienes NVIDIA+CUDA bien instalados

  2. Actualiza tu sistema y herramientas básicas

    sudo apt update
    sudo apt upgrade -y
    sudo apt install -y build-essential cmake git pkg-config \\
      # GUI y vídeo
      libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \\
      libxvidcore-dev libx264-dev \\
      # imágenes
      libjpeg-dev libpng-dev libtiff-dev libopenexr-dev \\
      # BLAS/LAPACK
      libatlas-base-dev gfortran \\
      # Protobuf, GFlags, GLog (para módulos DNN, calib3d, etc.)
      libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev \\
      # Extras (OpenCV contrib)
      libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
    
    

1. Clonar los repositorios

cd ~
git clone --branch 4.11.0 <https://github.com/opencv/opencv.git>
git clone --branch 4.11.0 <https://github.com/opencv/opencv_contrib.git>

2. Crear carpeta de build y entrar en ella

cd ~/opencv
mkdir build && cd build

3. Configurar con CMake (habilitando CUDA y contrib)

cmake \\
  -D CMAKE_BUILD_TYPE=Release \\
  -D CMAKE_INSTALL_PREFIX=/usr/local \\
  -D OPENCV_GENERATE_PKGCONFIG=ON \\
  -D WITH_CUDA=ON \\
  -D CUDA_ARCH_BIN="7.5" \\
  -D OPENCV_DNN_CUDA=ON \\
  -D ENABLE_FAST_MATH=ON \\
  -D CUDA_FAST_MATH=ON \\
  -D WITH_CUBLAS=ON \\
  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \\
  -D BUILD_EXAMPLES=ON \\
  -D BUILD_opencv_hdf=OFF \\
  -D WITH_OPENJPEG=OFF \\
  -D CMAKE_CXX_STANDARD=17 \\
  ../opencv

Nota: ajusta CUDA_ARCH_BIN según tu GPU. (“7.5” es para NVIDIA Turing/RTX 20×0).

cmake \\
  -D CMAKE_BUILD_TYPE=Release \\
  -D CMAKE_INSTALL_PREFIX=/usr/local \\
  -D OPENCV_GENERATE_PKGCONFIG=ON \\
  -D WITH_CUDA=ON \\
  -D CUDA_ARCH_BIN="7.5" \\
  -D OPENCV_DNN_CUDA=ON \\
  -D ENABLE_FAST_MATH=ON \\
  -D CUDA_FAST_MATH=ON \\
  -D WITH_CUBLAS=ON \\
  -D OPENCV_EXTRA_MODULES_PATH=$HOME/opencv_contrib/modules \\
  -D BUILD_EXAMPLES=ON \\
  -D WITH_OPENJPEG=OFF \\
  -D BUILD_opencv_hdf=OFF \\
  -D CMAKE_CXX_STANDARD=17 \\
  ..

4. Compilar e instalar

make -j$(nproc)
sudo make install

5. Ajustar pkg-config