我首先使用cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
安装了cuda。现在我尝试安装OpenCV 3.3.0
但是我收到了CMake错误:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
然后是一长串目标,如:
linked by target "opencv_cudev" in directory /home/jjros/opencv-3.3.0/modules/cudev
我使用此命令编译库:
cmake
-D CMAKE_C_COMPILER=/usr/bin/gcc-5 \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D WITH_CUBLAS=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_SHARED_LIBS=ON \
-D WITH_GTK=ON \
-D BUILD_EXAMPLES=ON \
-D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
如何设置我的CMakeLists?出了什么问题?
答案 0 :(得分:49)
我尝试了以下内容并且有效:
将FindCUDA.cmake
nppi
库更改为多个已拆分的库。这必须在3个地方完成。请记住,此更改只是为了使其与CUDA 9.0一起使用,我没有对版本或任何内容进行检查,如果您计划将其提供给具有不同CUDA版本的不同人员,则应该这样做。
1)寻找以下行:
find_cuda_helper_libs(nppi)
并将其替换为以下行:
find_cuda_helper_libs(nppial)
find_cuda_helper_libs(nppicc)
find_cuda_helper_libs(nppicom)
find_cuda_helper_libs(nppidei)
find_cuda_helper_libs(nppif)
find_cuda_helper_libs(nppig)
find_cuda_helper_libs(nppim)
find_cuda_helper_libs(nppist)
find_cuda_helper_libs(nppisu)
find_cuda_helper_libs(nppitc)
2)找到这一行:
set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")
并将其更改为
set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")
3)找到未设置的变量并添加新变量 所以,找到:
unset(CUDA_nppi_LIBRARY CACHE)
并将其更改为:
unset(CUDA_nppial_LIBRARY CACHE)
unset(CUDA_nppicc_LIBRARY CACHE)
unset(CUDA_nppicom_LIBRARY CACHE)
unset(CUDA_nppidei_LIBRARY CACHE)
unset(CUDA_nppif_LIBRARY CACHE)
unset(CUDA_nppig_LIBRARY CACHE)
unset(CUDA_nppim_LIBRARY CACHE)
unset(CUDA_nppist_LIBRARY CACHE)
unset(CUDA_nppisu_LIBRARY CACHE)
unset(CUDA_nppitc_LIBRARY CACHE)
同样在OpenCVDetectCUDA.cmake
中你必须删除不再受支持的2.0架构。
它有:
...
set(__cuda_arch_ptx "")
if(CUDA_GENERATION STREQUAL "Fermi")
set(__cuda_arch_bin "2.0")
elseif(CUDA_GENERATION STREQUAL "Kepler")
set(__cuda_arch_bin "3.0 3.5 3.7")
...
应该是:
...
set(__cuda_arch_ptx "")
if(CUDA_GENERATION STREQUAL "Kepler")
set(__cuda_arch_bin "3.0 3.5 3.7")
elseif(CUDA_GENERATION STREQUAL "Maxwell")
set(__cuda_arch_bin "5.0 5.2")
...
基本上我删除了第一个if和第一个elif变成了if。
正如@matko 所提及的那样 它还有:
set(__cuda_arch_bin "2.0 3.0 3.5 3.7 5.0 5.2 6.0 6.1")
应改为:
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1")
最后一件事是需要的。 CUDA 9.0现在有一个用于halffloat(cuda_fp16.h
)的独立文件。这需要包含在OpenCV中。
来自CUDA 9.0手册:
不支持的功能 一般CUDA ‣CUDA库。已删除内置函数__float2half_rn()和__half2float()。使用CUDA工具包中更新的fp16头文件中的等效功能。
为此,您需要添加:
#include <cuda_fp16.h>
头文件中的
opencv-3.3.0\modules\cudev\include\opencv2\cudev\common.hpp
这是OpenCV明确补丁的基础知识。缺少什么,就像我之前告诉过你的那样,我不关心CUDA版本(它需要一个IF)。此外,CUDA 9.0还有一些OpenCV使用的弃用功能......这可能会在某些时候由OpenCV团队取代。也可能不使用一个或多个nppi的分割库。
最终建议:
对于具有如此多选项的这种复杂cmakes,您应该使用ccmake(sudo apt-get install cmake-curses-gui
)来轻松更改变量或至少查看值,或者使用真正的GUI。
对于有windows和visual studio 7的其他人,我还必须更改CUDA_HOST_COMPILER
变量,否则你会遇到一堆cmd.exe exit with code 1
或类似的错误...它似乎无法&# 39;用自动检测到的那个到达那里。
这适用于我使用OpenCV 3.3和CUDA 9.0以及带有Windows 10的Visual Studio 2017.我认为它也适用于Ubuntu,因为错误和更改与CUDA有关。我没有对它进行过多次测试,我编译并运行了一些性能测试,所有这些都通过了......所以我认为一切正常。
答案 1 :(得分:4)
in
OpenCVDetectCUDA.cmake
它有:
set(__cuda_arch_bin "2.0 3.0 3.5 3.7 5.0 5.2 6.0 6.1")
更改为:
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1")
它对我有用。
答案 2 :(得分:3)
从https://github.com/opencv/opencv/tree/master/cmake(master branch- opencv 3.4.1)替换 FindCUDA.cmake 和 OpenCVDetectCUDA.cmake 适用于 opencv_2.4.13 Pascal 架构的 NVIDIA TitanXP 显卡以及Ubuntu 16.04上的 cuda-9.0 。
答案 3 :(得分:3)
这在具有OpenCV 4.2.0和CUDA 10.0的Ubuntu 18.04上对我有用
显然,我缺少指向这些库的符号链接,因此CMake找不到它们:
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppc.so.9.1 /usr/lib/x86_64-linux-gnu/libnppc.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppial.so.9.1 /usr/lib/x86_64-linux-gnu/libnppial.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppicc.so.9.1 /usr/lib/x86_64-linux-gnu/libnppicc.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppicom.so.9.1 /usr/lib/x86_64-linux-gnu/libnppicom.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppidei.so.9.1 /usr/lib/x86_64-linux-gnu/libnppidei.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppif.so.9.1 /usr/lib/x86_64-linux-gnu/libnppif.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppig.so.9.1 /usr/lib/x86_64-linux-gnu/libnppig.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppim.so.9.1 /usr/lib/x86_64-linux-gnu/libnppim.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppist.so.9.1 /usr/lib/x86_64-linux-gnu/libnppist.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppisu.so.9.1 /usr/lib/x86_64-linux-gnu/libnppisu.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnppitc.so.9.1 /usr/lib/x86_64-linux-gnu/libnppitc.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libnpps.so.9.1 /usr/lib/x86_64-linux-gnu/libnpps.so
更新:尽管以上命令使我能够成功运行CMake
,但仍无法构建。 sudo apt-get install nvidia-cuda-toolkit
达到了目的。
答案 4 :(得分:2)
我还必须在OpenCVDetectCUDA.cmake中执行以下操作:
替换
if(${CUDA_VERSION} VERSION_LESS "8.0")
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2")
else()
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1")
endif()
带
if(${CUDA_VERSION} VERSION_LESS "8.0")
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2")
set(CUDA_ARCH_BIN "3.0 3.5 3.7 5.0 5.2")
else()
set(__cuda_arch_bin "3.0 3.5 3.7 5.0 5.2 6.0 6.1")
set(CUDA_ARCH_BIN "3.0 3.5 3.7 5.0 5.2 6.0 6.1")
endif()
答案 5 :(得分:1)
在安装下一个安装程序时出现了相同的错误。
Ubuntu 18.04 cuda,cudnn,opencv 4.2和4.3。已经进行了几次尝试来解决此问题,并最终推出了下一个可运行的安装。
重要的是尚未安装驱动程序。已经注意到,我的安装只能通过全新安装的ubuntu进行操作
根据您的情况更改GPU_ARCH版本。在https://developer.nvidia.com/cuda-gpus中查看您的版本
export CUDA_VERSION='10.2.89'
export CUDA_PKG_VERSION='10-2=10.2.89-1'
export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
export NCCL_VERSION='2.5.6'
export CUDNN_VERSION='7.6.5.32'
export OPENCV_VERSION='4.3.0'
export GPU_ARCH='6.1'
apt-get update && \
apt-get install -y --no-install-recommends \
gnupg2 curl ca-certificates && \
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - && \
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list && \
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list
apt-get update && \
apt-get install -y --no-install-recommends \
cuda-cudart-$CUDA_PKG_VERSION \
cuda-compat-10-2 && \
ln -s cuda-10.2 /usr/local/cuda
apt-get update && \
apt-get install -y --no-install-recommends \
cuda-libraries-$CUDA_PKG_VERSION \
cuda-nvtx-$CUDA_PKG_VERSION \
libcublas10=10.2.2.89-1 \
libnccl2=$NCCL_VERSION-1+cuda10.2 && \
apt-mark hold libnccl2
apt-get update && apt-get install -y --no-install-recommends \
libcudnn7=$CUDNN_VERSION-1+cuda10.2 && \
apt-mark hold libcudnn7
apt-get update && apt-get install -y --no-install-recommends \
cuda-nvml-dev-$CUDA_PKG_VERSION \
cuda-command-line-tools-$CUDA_PKG_VERSION \
cuda-libraries-dev-$CUDA_PKG_VERSION \
cuda-minimal-build-$CUDA_PKG_VERSION \
libnccl-dev=$NCCL_VERSION-1+cuda10.2 \
libcublas-dev=10.2.2.89-1
apt-get update && apt-get install -y --no-install-recommends \
libcudnn7=$CUDNN_VERSION-1+cuda10.2 \
libcudnn7-dev=$CUDNN_VERSION-1+cuda10.2 && \
apt-mark hold libcudnn7
apt update && \
apt install -y \
tzdata \
git \
cmake \
wget \
unzip \
build-essential \
zlib1g-dev \
libjpeg-dev \
libwebp-dev \
libpng-dev \
libtiff5-dev \
libopenexr-dev \
libgdal-dev \
libgtk2.0-dev \
libdc1394-22-dev \
libavcodec-dev \
libavformat-dev \
libswscale-dev \
libtheora-dev \
libvorbis-dev \
libxvidcore-dev \
libx264-dev \
yasm \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
libv4l-dev \
libxine2-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libtbb-dev \
libeigen3-dev \
python3-dev \
python3-tk \
python3-numpy
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip && \
mv opencv-${OPENCV_VERSION} OpenCV && \
cd OpenCV && \
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \
unzip ${OPENCV_VERSION}.zip && \
mkdir build && \
cd build && \
cmake \
-D WITH_TBB=ON \
-D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_EXAMPLES=ON \
-D WITH_FFMPEG=ON \
-D WITH_V4L=ON \
-D WITH_OPENGL=ON \
-D WITH_CUDA=ON \
-D WITH_GSTREAMER=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=${GPU_ARCH} \
-D CUDA_ARCH_PTX=${GPU_ARCH} \
-D WITH_CUBLAS=ON \
-D WITH_CUFFT=ON \
-D WITH_EIGEN=ON \
-D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-${OPENCV_VERSION}/modules/ \
..
make all -j$(nproc)
make
答案 6 :(得分:0)
@ api55解决方案解决了与CUDA_nppi_LIBRARY
相关的错误。所以,只需按照步骤操作即可(适用于Ubuntu 16.04
opencv 3.3
)。
确保支持您的GPU架构。我已经不再支持Fermi
了。在使用cuda支持安装Cuda-8
时,解决方案是使用gcc-5
编译器安装opencv 3.3
。
答案 7 :(得分:0)
尝试了api555所说的方式,但是当cmake时,它还可以构建sm20,我做了两种方法:
1.in OpenCVDetectCUDA.cmake文件,第133行,在“ foreach(ARCH IN LISTS ARCH_LIST)
”循环中,添加
“ elseif(ARCH MATCHES "20")
”
之间,如果和其他。
2.in文件OpenCVDetectCUDA.cmake,第46行,
“ set(_generations "Fermi" "kepler" "Maxwell" "Pascal")
”
只需删除“ Fermi”
我更喜欢第二种方式,可能会有所帮助。
答案 8 :(得分:0)
用最新版本替换现有的opencv,它可以正常工作。 XD
答案 9 :(得分:0)
在使用cuda安装opencv4.2时,我在这里遇到了同样的问题。
我的cmake版本最初是3.16.2。但是,此版本不支持HTTP下载,因此您可能会遇到下载失败问题。
因此,我将cmake重新安装到3.9版,该版本支持HTTP协议,下载问题已解决。
但是新问题与上述@ja_cpp相同。 (cmake时找不到CUDA_nppi_LIBRARY(ADVANCED)
我遵循@ api55的方法并修改了FindCUDA.cmake和OpenCVDetectCUDA.cmake, 但是问题仍然存在。
由于我是在安装opencv4.2而不是opecv3,所以我认为这就是为什么修改不起作用的原因。
最棘手的事情是,我将我的cmake版本更新回了3.16.2,然后再次使用未修改的文件再次进行cmake,并且成功了!
我用了这个命令。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_ARCH_BIN=6.1 -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D HAVE_opencv_python3=ON -D PYTHON_EXECUTABLE=~/pengwenchen/anaconda3/envs/pytorch/bin/python -D BUILD_EXAMPLES=ON ..
我的环境:GPU-1080,cmake版本3.16.2,cuda版本10.0
希望这个答案可以对使用cuda安装opencv4.2的人有所帮助。 :)
答案 10 :(得分:0)
我已经使用以下脚本根据之前的答案在 jetson nano (JetPack 4.5.1) 上安装了 OpenCV 2.4.13.7(带有 CUDA、QT、FFMPEG 等):
#!/bin/bash
#The script was written for JetPack 4.5.1
echo "** Install vnc"
apt-get update -y
apt-get install vino -y
chmod 777 /etc/X11/xorg.conf
echo '
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Tegra0"
SubSection "Display"
Depth 24
Virtual 1280 800 # Modify the resolution by editing these values
EndSubSection
EndSection' >> /etc/X11/xorg.conf
mkdir -p ~/.config/autostart
cp /usr/share/applications/vino-server.desktop ~/.config/autostart
dbus-launch gsettings set org.gnome.Vino prompt-enabled false
dbus-launch gsettings set org.gnome.Vino require-encryption false
dbus-launch gsettings set org.gnome.Vino authentication-methods "['vnc']"
dbus-launch gsettings set org.gnome.Vino vnc-password $(echo -n 'thepassword'|base64)
echo "** Install requirements"
apt-get update -y
apt-get install nano -y
apt-get install libc-ares-dev -y
apt-get install uuid-dev -y
apt-get install libssl-dev -y
apt-get install libcurl4-openssl-dev -y
apt-get install git -y
apt-get install build-essential -y
apt-get install libgtk2.0-dev -y
apt-get install pkg-config -y
apt-get install libavcodec-dev -y
apt-get install libavformat-dev -y
apt-get install libswscale-dev -y
apt-get install python-dev -y
apt-get install python-numpy -y
apt-get install libtbb2 -y
apt-get install libtbb-dev -y
apt-get install libjpeg-dev -y
apt-get install libpng-dev -y
apt-get install libtiff-dev -y
apt-get install libjasper-dev -y
apt-get install libdc1394-22-dev -y
apt-get install libv4l-dev -y
apt-get install v4l2ucp -y
apt-get install v4l-utils -y
apt-get install libtesseract-dev -y
apt-get install libleptonica-dev -y
apt-get install tesseract-ocr-eng -y
apt-get install libcanberra-gtk3-module -y
apt-get install qt5-default -y
apt-get install libcanberra-gtk-module -y
apt-get install wget -y
apt-get install gcc -y
apt-get install g++ -y
#if you need to update your GCC please uncomment the commands below
#apt-get install software-properties-common -y
#add-apt-repository ppa:ubuntu-toolchain-r/test -y
#apt-get update
#apt-get install gcc-9 g++-9 -y
#update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-9
#gcc --version
cd /tmp
echo "** Install cmake"
wget https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4.tar.gz
tar zxvf cmake-3.16.4.tar.gz
cd cmake-3.16.4
./configure
make
make install
cmake -version
cd ..
rm -r cmake*
echo "** Install OpenCV 2.4.13.7"
#first, need to remove the previous version of OpenCV
apt-get purge *libopencv* -y
git clone -b 2.4 --single-branch https://github.com/opencv/opencv.git
cd opencv
git checkout 2.4.13.7
#need to implement some changes to build OpenCV with CUDA and QT
old_line='find_cuda_helper_libs(nppi)'
new_line='find_cuda_helper_libs(nppial)\n find_cuda_helper_libs(nppicc)\n find_cuda_helper_libs(nppicom)\n find_cuda_helper_libs(nppidei)\n find_cuda_helper_libs(nppif)\n find_cuda_helper_libs(nppig)\n find_cuda_helper_libs(nppim)\n find_cuda_helper_libs(nppist)\n find_cuda_helper_libs(nppisu)\n find_cuda_helper_libs(nppitc)'
sed -i -e "s/$old_line/$new_line/g" cmake/FindCUDA.cmake
old_line='set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")'
new_line='set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")'
sed -i -e "s/$old_line/$new_line/g" cmake/FindCUDA.cmake
old_line='unset(CUDA_nppi_LIBRARY CACHE)'
new_line='unset(CUDA_nppial_LIBRARY CACHE)\n unset(CUDA_nppicc_LIBRARY CACHE)\n unset(CUDA_nppicom_LIBRARY CACHE)\n unset(CUDA_nppidei_LIBRARY CACHE)\n unset(CUDA_nppif_LIBRARY CACHE)\n unset(CUDA_nppig_LIBRARY CACHE)\n unset(CUDA_nppim_LIBRARY CACHE)\n unset(CUDA_nppist_LIBRARY CACHE)\n unset(CUDA_nppisu_LIBRARY CACHE)\n unset(CUDA_nppitc_LIBRARY CACHE)'
sed -i -e "s/$old_line/$new_line/g" cmake/FindCUDA.cmake
old_line='glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);'
new_line='\/\/glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);'
sed -i -e "s/$old_line/$new_line/g" modules/highgui/src/window_QT.cpp
sed -i -e '61,65s/^/\/\/ /' -e '67s/^/\/\/ /' /usr/local/cuda-10.2/include/cuda_gl_interop.h
cd ..
git clone https://github.com/opencv/opencv_extra.git
cd opencv_extra
git checkout 2.4.13.7
cd ..
mkdir release
cd release
cmake \
-D CMAKE_CXX_COMPILER=/usr/bin/g++-7 \
-D CMAKE_C_COMPILER=/usr/bin/gcc-7 \
-D CMAKE_BUILD_TYPE=RELEASE \
-D INSTALL_C_EXAMPLES=ON \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D ENABLE_FAST_MATH=ON \
-D WITH_V4L=ON \
-D WITH_OPENGL=ON \
-D WITH_CUDA=ON \
-D WITH_QT=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_FFMPEG=ON \
-D WITH_GTK=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_python2=ON \
-D BUILD_opencv_python3=ON \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-D CUDA_ARCH_BIN=5.3 \
-D CUDA_ARCH_PTX="" \
-D CUDA_FAST_MATH=ON \
-D OPENCV_TEST_DATA_PATH=../opencv_extra/testdata ../opencv
make -j4
make install
cd ..
rm -r opencv*
cd /etc/ld.so.conf.d
touch opencv.conf
chmod 777 opencv.conf
echo "/usr/local/lib/libopencv_core.so.2.4" >> opencv.conf
ldconfig -v
sudo reboot