opencv4.8.0 GPU版本各平台编译

一、opencv4.8.0 ubuntu22.04上编译:

用cmake进行编译,需要配置三次。选中world选项,输入opencv_contrib_module路径。

ubuntu22.04上编译:

cmake \

  -D CMAKE_BUILD_TYPE=RELEASE \

      -D CMAKE_INSTALL_PREFIX=/usr/local \

  -D BUILD_opencv_python2=OFF \

  -D BUILD_opencv_python3=ON \

  -D OPENCV_PYTHON3_VERSION=3.7 \

  -D PYTHON_EXECUTABLE=/home/shiwei/anaconda3/bin/python3 \

  -D PYTHON_DEFAULT_EXECUTABLE=/home/shiwei/anaconda3/bin/python3 \

  -D PYTHON3_EXECUTABLE=/home/shiwei/anaconda3/bin/python3 \

  -D PYTHON3_INCLUDE_DIR=/home/shiwei/anaconda3/include/python3.7m \

  -D PYTHON3_LIBRARY=/home/shiwei/anaconda3/lib/libpython3.7m.so \

  -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/shiwei/anaconda3/lib/python3.7/site-packages/numpy/core/include \

  -D PYTHON3_PACKAGES_PATH=/home/shiwei/anaconda3/lib/python3.7/site-packages \

  -D OPENCV_PYTHON3_INSTALL_PATH=/home/shiwei/anaconda3/lib/python3.7/site-packages \

  -D INSTALL_PYTHON_EXAMPLES=OFF \

  -D INSTALL_C_EXAMPLES=OFF \

  -D OPENCV_ENABLE_NONFREE=ON \

  -D BUILD_TIFF=ON \

  -D OPENCV_EXTRA_MODULES_PATH=/home/shiwei/Downloads/opencv_contrib-4.7.0/modules \

  -D BUILD_EXAMPLES=OFF \

  -D WITH_CUDA=ON \

  -D WITH_CUDNN=ON \

  -D OPENCV_DNN_CUDA=ON \

  -D WITH_CUBLAS=ON \

  -D CUDA_ARCH_BIN=7.5 \

  -D ENABLE_FAST_MATH=1 \

  -D CUDA_FAST_MATH=1 \

  -D HAVE_opencv_python3=ON \

  -D BUILD_opencv_xfeatures2d=OFF \

  -D BUILD_opencv_wechat_qrcode=OFF \

  -D BUILD_opencv_face=OFF \

  -D BUILD_opencv_world=ON \

  -D BUILD_JAVA=OFF \

  -D OPENCV_DNN_OPENCL=ON \

  -D WITH_OPENCL=ON \

  -D OPENCV_GENERATE_PKGCONFIG=ON \

  -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \

  ..

二、DNN GPU版

        需要勾选camke里面和cuda相关的选项,以及注意第三次配置的时候的gpu计算能力,否则可能会报错。Linux平台最好用命令行的方式编译。

勾选WITH_CUDA、OPENCV_DNN_CUDA、BUILD_STATUS

CUDA_FAST_MATH

可以参考csdn上的说明,三次配置后BUILD_ALL即可。

三、opencv-python-gpu版

        在(二)的基础上需要勾选 BUILD_opencv_python3选项,然后再生产的lib里面有cv2.cp38-win_amd64.pyd文件即可。

验证gpu功能:

import cv2

 print(cv2.cuda.getCudaEnabledDeviceCount())

dir(cv2.cuda)

import cv2
from cv2 import cuda

cuda.printCudaDeviceInfo(0)

注意;

ubuntu上编译py-opencv会出现各种各样的问题,如:

ImportError: librsvg-2.so.2: cannot open shared object file: No such file or directory

解决方法:
sudo apt install librsvg2-2 librsvg2-dev librsvg2-common

ImportError: libavcodec.so.58: cannot open shared object file: No such file or directory

解决方法:

sudo apt-get install aptitude

sudo aptitude install libavcodec58

sudo aptitude install libavformat58

 sudo aptitude install libswscale5

ImportError: libIlmImf-2_5.so.25: cannot open shared object file: No such file or directory

解决方法:

sudo apt-get install libopenexr-dev

or

sudo apt-get install libopenexr-dev

ImportError: libdc1394.so.25: cannot open shared object file: No such file or directory

解决方法:

sudo apt-get install libdc1394-dev  libdc1394-utils

ImportError: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_insert_hyphens_new

解决方法:

conda install -c anaconda cairo==1.16.0

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

ImportError: numpy.core.multiarray failed to import

解决方法:

 pip install numpy==1.20.1

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译 OpenCVGPU 版本需要先安装 CUDA 和 cuDNN。在安装好这两个软件后,按照以下步骤编译 OpenCVGPU 版本: 1. 下载 OpenCV 源代码,并解压缩到任意目录。 2. 进入 OpenCV 源代码目录,创建一个新的目录 build,并进入该目录。 3. 执行以下命令生成 Makefile 文件: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN=7.5 \ -D CUDA_ARCH_PTX=7.5 \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ ../opencv ``` 解释一下各个参数的含义: - `-D CMAKE_BUILD_TYPE=RELEASE`:编译类型为 Release 版本。 - `-D CMAKE_INSTALL_PREFIX=/usr/local`:指定安装目录为 /usr/local。 - `-D WITH_CUDA=ON`:打开 CUDA 支持。 - `-D CUDA_ARCH_BIN=7.5`:指定编译生成的二进制代码支持的最低 CUDA Compute Capability 版本。 - `-D CUDA_ARCH_PTX=7.5`:指定编译生成的 PTX 代码支持的最低 CUDA Compute Capability 版本。 - `-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules`:指定额外的模块路径,这里是 opencv_contrib 模块的路径。 - `../opencv`:指定 OpenCV 源代码的路径。 4. 执行以下命令编译: ``` make -j8 ``` `-j8` 表示使用 8 个线程进行编译(具体数字可以根据自己的 CPU 核心数进行调整)。 5. 执行以下命令安装: ``` sudo make install ``` 这将会把编译好的 OpenCV 安装到 /usr/local 目录下。 注意:以上命令假定你已经正确安装了 CUDA 和 cuDNN。如果你没有安装或者安装不正确,那么编译 OpenCVGPU 版本将会失败。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值