编译支持GPU的opencv,并供python的import cv2调用

下载opencv和opencv_contrib,cmake过程中要下载的一些包可以手动下载配置,如果网络较好,也可以等待自动下载。主要记录的是cmake命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
                -D BUILD_opencv_python3=YES \
                -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4_5_0 \
                -D WITH_TBB=ON \
                -D ENABLE_FAST_MATH=1 \
                -D CUDA_FAST_MATH=1 \
                -D WITH_CUBLAS=1 \
                -D WITH_CUDA=ON \
                -D BUILD_opencv_cudacodec=On \
                -D WITH_CUDNN=ON \
                -D CUDA_ARCH_BIN=8.6 \
                -D WITH_OPENGL=ON \
                -D WITH_OPENCL=ON \
                -D WITH_GSTREAMER=ON \
                -D OPENCV_GENERATE_PKGCONFIG=ON \
                -D OPENCV_PC_FILE_NAME=opencv4.pc \
                -D OPENCV_PYTHON3_INSTALL_PATH=/home/user/data2t/software/anaconda3/envs/py38/lib/python3.8/site-packages \
                -D OPENCV_ENABLE_NONFREE=ON \
                -D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so \
                -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
                -D OpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so \
                -D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so \
                -D OpenCL_INCLUDE_DIR=/usr/local/cuda/include \
                -D OPENCV_EXTRA_MODULES_PATH=/home/user/data1t/3rdparty/opencv-4.5.0/opencv_contrib/modules \
                -D PYTHON3_LIBRARIES=/home/user/data2t/software/anaconda3/envs/py38/lib/libpython3.8.so \
                -D PYTHON3_PACKAGES_PATH=/home/user/data2t/software/anaconda3/envs/py38/lib/python3.8/site-packages \
                -D PYTHON3_INCLUDE_PATH=/home/user/data2t/software/anaconda3/envs/py38/include/python3.8 \
                -D INSTALL_PYTHON_EXAMPLES=ON \
                -D INSTALL_C_EXAMPLES=ON \
                -D BUILD_SHARED_LIBS=ON \
                -D BUILD_EXAMPLES=ON \
                -D BUILD_opencv_python2=OFF \
                -D BUILD_opencv_python3=ON \
                -D HAVE_opencv_cudaarithm=ON \
                -D HAVE_opencv_cudawarping=ON \
                -D PYTHON3_EXECUTABLE=/home/user/data2t/software/anaconda3/envs/py38/bin/python \
                ..

make -j 12
sudo make install

查看编译后的opencv用cv2调用是否支持GPU的方法:

cv2.cuda.getCudaEnabledDeviceCount()

这里有个opencv编译参数一览表:https://blog.csdn.net/qq_31112205/article/details/107039695

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用 OpenCV 调用 GPU 加速时,需要先确保你的系统安装了 CUDA 和 cuDNN,并且 OpenCV 的版本已经支持 GPU。 具体步骤如下: 1. 首先,在代码中导入 OpenCV 库: ``` import cv2 ``` 2. 接下来,使用 `cv2.setUseOptimized(True)` 开启 OpenCV 的优化,这样可以确保 GPU 加速已经生效。 ``` cv2.setUseOptimized(True) ``` 3. 然后,检查 GPU 加速是否已经开启: ``` print(cv2.getUseOptimized()) ``` 如果返回值为 True,说明 GPU 加速已经开启。 4. 最后,在需要使用 GPU 加速的地方,使用 `cv2.cuda.*` 系列函数。例如: ``` import cv2.cuda as cuda img_gpu = cuda.GpuMat(img) ``` 以上就是在 Python 中如何使用 OpenCV 调用 GPU 加速的步骤。希望这对您有所帮助! ### 回答2: 在Python中,OpenCVGPU加速需要通过安装并配置OpenCVGPU模块,以及相应的硬件和驱动支持。具体操作步骤如下: 1. 确认硬件支持:首先,需要确保计算机上安装了兼容的GPU和驱动程序。常见的支持GPU加速的GPU厂商括NVIDIA和AMD,其中NVIDIA GPU是最常用的选择。 2. 安装CUDA和CuDNN:对于NVIDIA GPU,可以通过安装CUDA(Compute Unified Device Architecture)和CuDNN(CUDA Deep Neural Network library)来获取GPU加速的支持。 CUDA是NVIDIA提供的一种用于并行计算的平台和编程模型,而CuDNN是用于深度学习任务的加速库。 3. 安装OpenCVGPU模块:在安装OpenCV之前,需要确保已经正确地安装了CUDA和CuDNN。然后,可以通过pip或conda等软件管理工具安装带有GPU支持OpenCV版本。例如,可以在终端中使用以下命令来安装: ``` pip install opencv-python-headless ``` 或者 ``` conda install -c conda-forge opencv ``` 4. 配置环境变量:在安装和配置OpenCVGPU模块之后,需要将CUDA和CuDNN库的路径添加到操作系统的环境变量中。具体方法视操作系统而定,可以参考相关文档或网上教程进行配置。 5. 编写代码:在安装和配置完成后,就可以通过编写Python代码来调用OpenCVGPU加速功能了。在代码中,可以使用`cv2.cuda`模块来访问OpenCVGPU函数和类,并利用GPU加速进行图像处理和计算任务。例如,可以使用`cv2.cuda.cvtColor`函数进行颜色空间转换,或使用`cv2.cuda.SURF_create`函数进行特征提取等。 总结起来,利用Python中的OpenCV实现GPU加速,需要先安装并配置CUDA和CuDNN,然后安装带有GPU支持OpenCV版本,并在代码中调用适用于GPU的函数和类。这样就可以充分利用GPU的并行计算能力,提高图像处理和计算任务的执行速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值