ubuntu 18 OpenCV 4.5.3 cuda 源码编译

2023-11-05

目录

├── opencv453
│ ├── build
│ ├── build.sh
│ ├── opencv-4.5.3
│ └── opencv_contrib-4.5.3

编译命令

创建 build.sh 文件
pwd
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/home/opencv453 \
    -D OPENCV_EXTRA_MODULES_PATH=/home/opencv453/opencv_contrib-4.5.3/modules \
    -D OPENCV_GENERATE_PKGCONFIG=YES \
    -D PYTHON3_LIBRARY=/home/anaconda3/lib/libpython3.6m.so \
    -D PYTHON3_INCLUDE_DIR=/home/anaconda3/bin/python3.6m \
    -D PYTHON3_EXECUTABLE=/home/anaconda3/bin/python \
    -D PYTHON3_PACKAGES_PATH=/home/anaconda3/lib/python3.6/site-packages \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D BUILD_JAVA=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D BUILD_EXAMPLES=ON \
    -D WITH_CUDA=ON \
    -D WITH_CUBLAS=ON \
    /home/opencv453/opencv-4.5.3/
在 build 目录下执行
	../build.sh
	make -j16
	sudo make install

可能出现错误 1

CMakeFiles/Makefile2:19000: recipe for target 'modules/sfm/CMakeFiles/opencv_sfm.dir/all' failed
make[1]: *** [modules/sfm/CMakeFiles/opencv_sfm.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

解决依赖: sudo apt-get install libeigen3-dev libgflags-dev libgoogle-glog-dev libsuitesparse-dev

需要先下载的包

先不要着急编译安装,因为在编译过程中需要一些依赖包,cmake在安装过程中,网络原因会导致一些文件下载失败,所以可以预先下载,拷贝到对应的目录,并且修改编译文件。

1 ippicv

在文件~/opencv4.5.3/3rdparty/ippicv/ippicv.cmake 中找3个关键值:
43行:下载目录的地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/
5行:IPPICV_COMMIT值:a56b6ac6f030c312b2dce17430eef13aed9af274
10行:文件名:ippicv_2020_lnx_intel64_20191018_general.tgz
三个值组合起来,就是下载地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz
下载好了之后,直接放到~/opencv4.5.3/3rdparty/ippicv/目录下,修改 ippicv.cmake文件的第42行:
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
"file:///xxxxx/opencv4.5.3/3rdparty/ippicv/"

2 boostdesc_bgm.i

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i

预先下载文件,把这7个文件拷贝到 ~/opencv_contrib_4.5.3/modules/xfeatures2d/src/文件夹下;
修改 ~/opencv_contrib_4.5.3/modules/xfeatures2d/cmake/download_boostdesc.cmake 文件27行:
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
"file:///xxxxx/opencv_contrib_4.5.3/modules/xfeatures2d/src"	

3 vgg

vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i

预先下载文件,把这4个文件拷贝到 ~/opencv_contrib_4.5.3/modules/xfeatures2d/src/文件夹下;
修改 ~/opencv_contrib_4.5.3/modules/xfeatures2d/cmake/download_vgg.cmake 文件21行:
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
"file:///xxxxx/opencv_contrib_4.5.3/modules/xfeatures2d/src"	

4 face_landmark_model.dat.zip

下载地址:https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
下载完成后,把face_landmark_model.dat.zip 放到文件夹~/opencv_contrib_4.5.3/modules/face/ 中,修改 ~/opencv_contrib_4.5.3/modules/face/CMakeLists.txt 19行:
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"
"file:///xxxxx/opencv_contrib_4.5.3/modules/face/"     

5 ade-0.1.1f.zip

打开~/opencv4.5.3/modules/gapi/cmake/DownloadADE.cmake文件,按照文件第10行指定的网址下载ade-0.1.1f.zip文件,并将其重命名为v0.1.1f.zip,f放到该文件夹下,并修改第10行:
#"https://github.com/opencv/ade/archive/"
"file:///xxxx/opencv4.5.3/modules/gapi/cmake/"

以上资源下载链接

https://download.csdn.net/download/ZRL4836/57139836
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu 18 OpenCV 4.5.3 cuda 源码编译 的相关文章

随机推荐

  • Python采集世界大学排行榜,做数据可视化,来看看你的大学上榜没

    前言 这不是最近疫情又开始了 马上也要过年了 就是说很多大学都开始准备放假了吧 我有个表妹下周二就放寒假了哈哈 感觉现在读书寒假可长了 今天有点无聊 就来 爬取一下世界大学排行榜 做数据可视化 看看你们的学校上榜没 知识点 动态数据抓包 r
  • Algorithm oj 全集(已过oj)

    Algorithm oj 分治策略 作业1 找出数组中第 k 小的数 总提交数 616次 通过数 188次 通过率 30 52 内存限制 104857600 BYTE 时间限制 10000 MS 输入限制 1000 行 输出限制 1000
  • 【我的面试-01】Web前端开发实习岗-面试题总结

    简单开头 首先技术面试官会根据简历里所写的项目和个人掌握技术栈提问 我不知道已经改过多少次简历了 因为前期投简历是真的是沉在茫茫大海 捞漂流瓶都捞不到的那种 我的技术栈 Vue还在苦苦的自学当中 随便推荐一下coderwhy老师B站的教学视
  • 通过反射获取一个对象的属性值三种方法比较

    这里写目录标题 为何要写这篇博客 数据准备 方法实践 总结 为何要写这篇博客 反射机制的用途非常多 比如获取方法 属性名和属性值等 甚至可以获取标签等标签属性 今天来比较几种获取实例化对象的属性值方法 数据准备 Builder FieldD
  • C++的cout高阶格式化操作

    敬告 当您的浏览器以非默认字体浏览本文时 段落格式可能会出现偏差 这篇文章主要讲解如何在C 中使用cout进行高级的格式化输出操作 包括数字的各种计数法 精度 输出 左或右对齐 大小写等等 通过本文 您可以完全脱离scanf printf
  • 攻防世界-WEB新手练习区教程(二)

    目录 攻防世界 WEB新手练习区教程 二 simple js xff referer weak auth command execution simple php 攻防世界 WEB新手练习区教程 二 simple js 进入场景 需要输入密
  • 记忆化搜索 Memorization Search

    记忆化搜索 Memorization Search 什么是记忆化搜索 记忆化搜索函数的三个特点 记忆化搜索 vs 动态规划 三种适用于DP的场景 三种不适用于DP的场景 Examples Leetcode 140 单词拆分 II Leetc
  • print.js 打印的网页单页内容,多出第二页空白页面

    问题如上图 解决过程 给table外嵌套的div设置了样式page break after也没有效果 最后索性给打印区域添加加边框 准备看看预览时空白页里有什么 结果后一页的空白页就这么没了 o 观察发现 加上边框后 table的宽度确实有
  • 【js】用正则实现一串数字用逗号隔开千分位

    此方法适用于正整数 负整数 浮点数 const formatNumberWithCommas number any gt 兼容一下传进来的number字段有可能是null undefined NaN 0的情况 当number为null un
  • .NET基础概念解释及主要体系结构

    一 NET概念详解 1 NET NET就是微软用来实现XML Web Services SOA 面向服务的体系结构service orientedarchitecture 和敏捷性的技术 NET是微软的新一代技术平台 为敏捷商务构建互联互通
  • python无web框架接口通信

    1 发送 def image to base64 image np image cv2 imencode jpg image np 1 tobytes base64 data base64 b64encode image base64 da
  • Java解析txt文件

    Java解析txt文件 package com wb test import java io BufferedReader import java io File import java io FileInputStream import
  • mysql和c#在类型转换的问题

    1 char 36 和string mysql在将char 36 类型的会转成System GUID 如果char 36 字段里存的不是guid 最好不要用char 36 改成char 37 这样的就没事了 在 net开放中 asp net
  • 李晓波

    一 大败局 第一部 这套书 真的写出来改革开放以来 中国比较出名的企业的生存与失败 这套书可以指导我十年吧 这几本书应该每两年翻阅一遍 1 秦池酒的成功与失败 中国标王 广告对普通人的影响 公关 品牌营销 2013 11 20 二 中国经济
  • cygwin环境编译 致命错误:stddef.h:can not found

    最近需要在linux下运行代码 为了省去搭建环境的时间 就使用了cygwin这一工具 但它在编译过程中 出现了can not found stddef h的问题 原因是库文件sttdef h没有找到 上网查了一下 有的博客写到需要对g 降级
  • 使用MongoDB命令连接远程服务器的MongoDB数据库

    使用MongoDB命令连接远程服务器的MongoDB数据库 MongoDB连接远程服务器的命令格式如下 mongo 远程主机ip或DNS MongoDB端口号 数据库名 u user p password MongoDB连接远程服务器的命令
  • LeetCode 每日一题 2023/9/11-2023/9/17

    记录了初步解题思路 以及本地实现代码 并不一定为最优 也希望大家能一起探讨 一起进步 目录 9 11 630 课程表 III 9 12 1462 课程表 IV 9 13 2596 检查骑士巡视方案 9 14 1222 可以攻击国王的皇后 9
  • AcWing167. 木棒(DFS+剪枝)

    输入样例 9 5 2 1 5 2 1 5 2 1 4 1 2 3 4 0 输出样例 6 5 解析 DFS 搜索顺序 根据木棒的长度从小到大枚举每根木棒 对于每根木棒 枚举可以由哪些木棍拼成 如果所有的木棍拼成了长度相等的多个木棒 说明找到了
  • PGSQL(学习与操作)

    PGSQL操作手册 1 Navicat连接数据库 192 168 31 0 密码 123456 port 5432 2 PGSQL数据库基础学习 1 创建数据库 CREATE DATABASE runoobdb 创建数据库 数据库名为run
  • ubuntu 18 OpenCV 4.5.3 cuda 源码编译

    目录 opencv453 build build sh opencv 4 5 3 opencv contrib 4 5 3 编译命令 创建 build sh 文件 pwd cmake D CMAKE BUILD TYPE RELEASE D