当前位置: 首页 > news >正文

ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0

前提条件是安装好了cuda和cudnn

点击下载:
opencv_contrib4.5.0
opencv 4.5.0
解压重命名后
进入opencv目录,创建build目录

“CUDA_ARCH_BIN= ?” 这里要根据显卡查询一下,我的cuda是11,显卡1650,所以是7.5
查询方法1:
查询链接:https://developer.nvidia.com/cuda-gpus
查询方法2:

import torch

if torch.cuda.is_available():
    major, minor = torch.cuda.get_device_capability()
    arch_bin = f"{major}.{minor}"
    print(arch_bin)
else:
    print("CUDA is not available.")

安装依赖:

apt-get update
apt-get install build-essential cmake git pkg-config libgtk-3-dev \
                    libavcodec-dev libavformat-dev libswscale-dev \
                    libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev \
                    libpng-dev libtiff-dev gfortran openexr \
                    libatlas-base-dev \
                    libtbb2 libtbb-dev libdc1394-22-dev libopenblas-dev \
                    liblapacke-dev libhdf5-dev libprotobuf-dev protobuf-compiler

注意路径更改:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
            -D CMAKE_INSTALL_PREFIX=/usr/local \
            -D WITH_TBB=ON \
            -D BUILD_TBB=ON \
            -D ENABLE_FAST_MATH=1 \
            -D CUDA_FAST_MATH=1 \
            -D WITH_CUBLAS=1 \
            -D WITH_V4L=ON \
            -D WITH_LIBV4L=ON \
            -D WITH_CUDA=ON \
            -D WITH_CUDNN=ON \
            -D WITH_CUDEV=ON \
            -D WITH_GTK_2_X=ON \
            -D WITH_NVCUVID=ON \
            -D CUDA_ARCH_BIN=7.5 \
            -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
            -D WITH_OPENGL=ON \
            -D WITH_FFMPEG=ON \
            -D OPENCV_GENERATE_PKGCONFIG=YES \
            ..

踩坑1:

认真观察会发现
在这里插入图片描述
打开看到的就是未下载的文件,需要下载后移动到对应位置。
在这里插入图片描述
压缩文件还能科学上网手动下载,但是.i文件我不知道怎么下载,因为按照网页访问会直接列出内容,我复制后,按照上面给的文件进行保存,又来一遍发现还是提示我未下载。最后是使用别人下载好的 .cache 文件,才编译成功的。
如果不缺文件的话就没有这个sh脚本。

踩坑2:

没加环境变量
使用方法二就成功了。

# 方法一
# 临时生效(仅当前终端)
# bash
# 复制
# # 假设库路径为 /usr/local/lib
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

#方法二
# 永久生效
# bash
# 复制
# # 创建配置文件
# sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

# # 更新动态链接器缓存
# sudo ldconfig

开始编译:

make -j8

安装

make install

创建配置文件

sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

更新动态链接器缓存

ldconfig

相关文章:

  • STM32驱动OLED屏幕全解析:从原理到温度显示实战(上) | 零基础入门STM32第五十三步
  • 人工智能与深度学习的应用案例解析及代码实现
  • Ae 效果详解:VR 色差
  • 计算机视觉cv2入门之图像的读取,显示,与保存
  • 【江协科技STM32】ADC数模转换器-学习笔记
  • vue3 vite项目安装eslint
  • MATLAB程序代编液压系统电机非线性滑膜伺服模糊控制simulink仿真
  • 队列知识点最详细整理+总结(基于《王道数据结构考研复习指导》)
  • 数据库基础以及基本建库建表的简单操作
  • 2025.2.4 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI 整合包下载地址
  • Python 编写第一个网络爬虫教程
  • 短记:Flutter 项目常见问题 Gradle version is incompatible with the Java version
  • 深入解析:Linux中KVM虚拟化技术
  • Docker 学习(四)——Dockerfile 创建镜像 (详细版)
  • java每日精进 3.08 OAUTH 2.0
  • uniapp+<script setup lang=“ts“>使用 uni.$emit和uni.$on全局传递数据
  • 蓝桥杯备考:倍增算法详解
  • 深度学习模型组件之优化器-自适应学习率优化方法(Adagrad、RMSprop)
  • Windows CMD 命令大全(综合开发整理版)
  • 【Python 数据结构 8.串】
  • 朝阳区社会建设网站/win优化大师怎么样
  • 网站开发目录static/搜狗推广登录平台官网
  • dw怎么做鲜花网站/天津seo招聘
  • jsp做的网站答辩问题/网站建设模板
  • 做博客用什么系统做网站好/seo培训一对一
  • 美空间网站/苏州seo整站优化