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

相关推荐
人工智能AI技术1 分钟前
向量数据库基础:给智能体提供长期精准记忆
人工智能
铅笔小新z5 分钟前
【Linux】进程控制(下)
linux·运维·chrome
sp_fyf_20247 分钟前
【大语言模型】 揭开指令混合用于大语言模型微调的神秘面纱
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
企鹅的蚂蚁7 分钟前
Ubuntu 22.04 终端进阶:Terminator 安装与快捷键完全手册
linux·运维·ubuntu
阿杰学AI8 分钟前
AI核心知识121—大语言模型之 基于人类反馈的强化学习 (简洁且通俗易懂版)
人工智能·深度学习·ai·语言模型·强化学习·奖励模型·rm
花椒技术8 分钟前
从 1.5 秒到 660ms,直播间首屏秒开是怎么做出来的?
人工智能·后端·全栈
薛定猫AI13 分钟前
【技术干货】Hermes Agent v0.9.0 深度解析:开源 AI Agent 的跨平台生态进化
人工智能·开源
不会写程序的未来程序员14 分钟前
nvm 安装教程:Node.js 版本管理全攻略 (Win/Mac/Linux) + .nvmrc 实战
linux·macos·node.js·前端开发·环境配置·nvm
黄焖鸡能干四碗15 分钟前
网络安全风险评估报告(WORD版本)
大数据·运维·网络·人工智能·制造
北京耐用通信19 分钟前
工业自动化中的协议桥梁:耐达讯自动化EtherCAT转RS232技术深度解析
人工智能·科技·物联网·自动化·信息与通信