# OpenCV Install * with CUDA * with CUDNN * with pkg config * with gstreamer ```bash mkdir opencv_install cd opencv_install ``` ```bash git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git ``` ```bash mkdir build cd build ``` ```bash sudo apt install libopencv-dev ``` ```bash cmake -D CMAKE_BUILD_TYPE=Release \ -D OPENCV_GENERATE_PKGCONFIG=YES \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D INSTALL_C_EXAMPLES=ON \ -D WITH_CUBLAS=1 \ -D WITH_LIBV4L=ON \ -D WITH_GSTREAMER=ON \ -D WITH_GSTREAMER_0_10=OFF \ -D WITH_NVCUVID=ON \ -D FORCE_VTK=ON \ -D WITH_XINE=ON \ -D WITH_CUDA=ON \ -D WITH_CUDNN=ON \ -D CUDNN_INCLUDE_DIR=/usr/local/cuda/include/ \ -D CUDNN_LIBRARY=/lib/x86_64-linux-gnu/libcudnn.so.8 \ -D CUDNN_VERSION=8.0.4 \ -D CUDA_ARCH_BIN=11.1 \ -D CUDA_GENERATION=Pascal \ -D OPENCV_DNN_CUDA=ON \ -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --expt-relaxed-constexpr" \ -D ENABLE_FAST_MATH=1 \ -D CUDA_FAST_MATH=1 \ -D WITH_GDAL=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D PYTHON_EXECUTABLE=/usr/bin/python3 \ -D OPENCV_PYTHON3_INSTALL_PATH=/usr/local/lib/python3.8/dist-packages \ -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ ../opencv ``` ```bash make -j4 ``` ```bash sudo make install ``` ## macOS ```bash cmake -D CMAKE_BUILD_TYPE=Release \ -D OPENCV_GENERATE_PKGCONFIG=YES \ -D INSTALL_C_EXAMPLES=ON \ -D FORCE_VTK=ON \ -D WITH_XINE=ON \ -D ENABLE_FAST_MATH=1 \ -D WITH_GDAL=ON \ -D BUILD_NEW_PYTHON_SUPPORT=ON \ -D BUILD_opencv_python3=ON \ -D HAVE_opencv_python3=ON \ -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \ -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ ../opencv ``` ## Win10 compile opencv with specified cuda version CUDA_TOOLKIT_ROOT_DIR "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1" 看cmake選項,把不是你要的cuda version的 路徑改成你要的 ``` D:\CMake\bin\cmake.exe ` -D CMAKE_BUILD_TYPE=Release ` -D WITH_ADE=OFF ` -D WITH_FFMPEG=OFF ` -D BUILD_TESTS=OFF ` -D BUILD_opencv_python3=OFF ` -D BUILD_opencv_python2=OFF ` -D BUILD_opencv_cudaoptflow=OFF ` -D BUILD_opencv_world=ON ` -D ENABLE_FAST_MATH=ON ` -D WITH_CUDA=ON ` -D WITH_CUDNN=ON ` -D CUDA_FAST_MATH=ON ` -D OPENCV_DNN_CUDA=ON ` -D OPENCV_EXTRA_MODULES_PATH="..\opencv_contrib\modules" ` "..\opencv" ``` ``` C:\"Program Files"\CMake\bin\cmake.exe ` -D CMAKE_BUILD_TYPE=Release ` -D WITH_ADE=OFF ` -D WITH_FFMPEG=OFF ` -D BUILD_TESTS=OFF ` -D BUILD_TBB=OFF ` -D BUILD_opencv_python2=OFF ` -D BUILD_opencv_python3=OFF ` -D BUILD_opencv_world=ON ` -D ENABLE_FAST_MATH=ON ` -D WITH_OPENMP=ON ` -D WITH_TBB=OFF ` -D WITH_CUDA=ON ` -D WITH_CUDNN=ON ` -D CUDA_FAST_MATH=ON ` -D OPENCV_DNN_CUDA=ON ` -D OPENCV_EXTRA_MODULES_PATH="..\opencv_contrib\modules" ` -D BUILD_opencv_cudaoptflow=ON ` "..\opencv" ```