ubuntu下源码编译方式安装opencv

基础条件
ubuntu 20.04
opencv 3.4.3

opencv 源码编译的安装步骤
第一步, 首先clone源码

git clone https://github.com/opencv/opencv.git

第二步,依赖包,执行下面的命令

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

第三步, 编译安装,依次运行下面的命令

cd ~/opencv-3.4.3 #进入opencv文件夹
mkdir build # 创建build文件夹
cd build # 进入build文件夹
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..    
make -j7 # 多线程执行编译命令
sudo make install  #安装完成, 

下面的内容显示了安装成功后的信息反馈。 最后一句话, 说明ubuntu系统将opencv的运行路径,设置成了/usr/local/lib, 也就意味着opencv.pc也在这个路径下面。

-- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_frontalface_improved.xml
-- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_profileface.xml
-- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_silverware.xml
-- Installing: /usr/local/bin/opencv_traincascade
-- Set runtime path of "/usr/local/bin/opencv_traincascade" to "/usr/local/lib"
-- Installing: /usr/local/bin/opencv_createsamples
-- Set runtime path of "/usr/local/bin/opencv_createsamples" to "/usr/local/lib"
-- Installing: /usr/local/bin/opencv_annotation
-- Set runtime path of "/usr/local/bin/opencv_annotation" to "/usr/local/lib"
-- Installing: /usr/local/bin/opencv_visualisation
-- Set runtime path of "/usr/local/bin/opencv_visualisation" to "/usr/local/lib"
-- Installing: /usr/local/bin/opencv_interactive-calibration
-- Set runtime path of "/usr/local/bin/opencv_interactive-calibration" to "/usr/local/lib"
-- Installing: /usr/local/bin/opencv_version
-- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"

接下来要配置环境变量
在/etc/bash.bashrc文件中添加opencv.pc的环境变量,
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
看最后两行。 然后运行命令source /etc/bash.bashrc使配置生效
在这里插入图片描述

在/etc/ld.so.conf文件中添加opencv的库路径/usr/local/lib, 记得还要运行sudo ldconfig。

在这里插入图片描述

通过这个命令来查看opencv的版本

 pkg-config --modversion opencv

如果在运行上面命令的过程中, 出现下面的问题, 我们该怎么解决呢?

Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/12/../../../a...

这个错误信息提示系统无法在 pkg-config 搜索路径中找到 opencv 包。你可以尝试将包含 ‘opencv.pc’ 文件的目录添加到 PKG_CONFIG_PATH 环境变量中。
在这里插入图片描述

opencv.pc就在pkconfig文件夹中。
所以我们的环境变量,必须能找到opencv.pc

环境变量配置好后, 再次运行 pkg-config --modversion opencv , 就出现了3.4.3的回复
在这里插入图片描述

接下来就是实例测试了。 
转载一个感觉特别好的
opencv安装测试

网上常见的简单测试例子,用下面的命令编译。

g++ test.cpp -o test `pkg-config --cflags --libs opencv`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/120529.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为WATCH 4系列升级鸿蒙4有哪些新变化

HUAWEI WATCH 4 系列已开启 HarmonyOS 4 公测招募,并已开始陆续推送版本,新版本可以体验全新弦月窗消息、趣味互动表盘、更多定制元素的相册表盘,以及可显示应用名称的棋盘桌面等众多特性,感兴趣的小伙伴,快来报名体验…

特斯拉——使用人工智能制造智能汽车

特斯拉(Tesla)是电动汽车开发和推广的先驱。特斯拉对自动驾驶汽车的未来寄予厚望--实际上,每一辆特斯拉汽车都有可能通过软件升级成为自动驾驶汽车。该公司还生产和销售高级电池和太阳能电池板。 汽车的自动驾驶是按从1~5的等级划分的。自适应巡航控制和自动停车系…

「UG/NX」Block UI 从列表选择部件SelectPartFromList

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

基于AI图像识别的智能缺陷检测系统,在钢铁行业的应用-技术方案

目录 概述 废钢智能检判方案简介 废钢智能检判系统优势及价值 废钢人工检判过程 废钢等级检判标准 废钢检判结果 智能检判方案-废钢智能检判算法 算法一:废钢等级识别算法 算法二:不合格料的位置识别算法 算法三:不合格料的类型识别…

Vue安装并使用Vue-CLI构建SPA项目并实现路由

目录 前言 一、Vue CLI简介 1.什么是Vue CLI 2.Vue CLI的特点 二、SPA项目搭建 1.安装Vue CLI 2.使用脚手架vue-cli来构建项目 ​编辑 3.项目结构说明 4.什么是*.vue文件 三、基于SPA完成路由并嵌套路由 1.基于SPA完成路由 1. 1在src下的components 创建自定义组件…

杀掉进程但是fastapi程序还在运行

两个脚本,一个运行fastapi服务,一个重启服务: 启动服务先: 发现问题,杀掉 server.sh 后,依旧有: 不知道为什么会出现这个,直接kill吧: server.sh: #!/bin/bashparpath/…

1.centos7 安装显卡驱动、cuda、cudnn

安装conda 参考 python包 2.安装conda python库-CSDN博客3.Cenots Swin-Transformer-Object-Detection环境配置-CSDN博客 1.安装显卡驱动 步骤1:安装依赖 yum -y install kernel-devel yum -y install epel-release yum -y install gcc 步骤2:查询显…

优优嗨聚集团:美团代运营服务,对美团外卖商家有何促进

美团代运营服务一直是美团外卖商家成功的关键因素之一。美团代运营服务是一种专业的营销服务,它可以帮助商家在美团平台上更好地经营和销售,从而提高店铺曝光率、提升用户评价、提高营收等方面的水平。 首先,美团代运营服务可以帮助商家提高店…

No141.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

文件的编译与链接

目录 翻译环境与链接环境: 翻译环境: 编译器部分: 预处理: 编译: 词法分析: 语法分析: 语义分析: 汇编: 小总结: 链接器部分: 运行环境…

QT pyside2 线程嵌套子线程 实现开始运行和停止运行

文章目录 前言为什么要使用多线程 一、单个线程实现按钮方法的执行二、线程嵌套多个子线程实现按钮方法的执行三、QT GUI常用代码3.1 多线程取出队列任务循环执行,无停止3.2 将某个方法放在线程中执行3.3 QT pyside2 tableWidget 清除日志3.4 退出整个GUI程序(杀死进…

C# OpenCvSharp 基于直线检测的文本图像倾斜校正

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp;namespace OpenCvSharp_基于直线检测的文…