Ubuntu20.040 OpenCV详细安装教程(附加版本切换共存教程)
2025-06-24 12:05:53
来源:新华网
安装opencv有两种方法:
1.使用包管理器安装预编译版本(安装非常简单但是。版本只有4.2.0。,没有扩展模块,不支持QT窗口)
2.从源代码安装(比较复杂但是推荐)
1.安装预编译版本。
sudo apt install libopencv-dev。
这样,安装就完成了。
这种安装方法在系统目录中默认放置opencv相关文件。
2.从源码构建安装(重点)
1.OpenCV官网下载源码。
官方网站下载地址。https://opencv.org/releases/。
如上图所示,选择Sources下载zip源码压缩包c;下载解压#xff0c;如下图所示,#xff1a;
2.编译安装。
安装所需的工具。
#更新apt可安装包列表sudodo apt update#cmake和g++sudo apt install -y cmake g++#安装工程施工工具有两个选择make或ninja, ninja自动支持多线程,make自己加-j选项这里先安装sudoo apt install make ninja-build。
使用cmake构建。
#进入源码目录cd opencv-4.9.cmake构建cmake -B build -GNinja -DCMAKE_INSTALL_PREFIX=~/lib/opencv4.9.0_install。
命令解释:
-B build :在当前目录中创建build文件夹,然后构建到build文件夹中。
-GNinja : 用Ninja指定生成的项目,默认是-GUnix(用make构建)
-DCMAKE_INSTALL_PREFIX=~/lib/opencv4.9.0_install : 指定安装目录否则,默认安装到系统目录:/usr/lib,usr/include,这是多版本共存的关键,指定自定义目录(最好不要使用系统目录),例如,我就在~//例如,我就在那里lib/opencv4.9.0_install中。
注意:在执行该命令的过程中,您可以连接到外部网络下载本地丢失的文件,建议。科学上网。设置https代理。
cmake命令执行后build目录中有很多文件,如下图所示,#xff1a;
继续目录,然后执行命令:
cmake --build build/。
正式开始编译! 。
编译时间长,耐心等待..。
编译完成后,执行命令:
cmake --install build/。
执行此命令,将编译好的库和头文件和cmake文件复制到以前指定的cmake_INSTALL_PREFIX,如下图所示,#xff1a;
3.设置环境变量切换版本。
Opencv通常与cmake一起使用,因此,通过设置cmake的环境变量,可以选择Opencv。
cmake是通过find_package函数实现搜索包功能,find_package函数是通过设置的搜索路径找到相应的库配置文件。具体可查看:cmake:指定find_package搜索路径_find_package CSDN博客指定路径。浏览阅读文章1.4w次点赞12次收藏24次。find_package(OpenCV PATHS /opt/opencv NO_DEFAULT_PATH REQUIRED)if (OpenCV_FOUND) include_directories(${ OpenCV_INCLUDE_DIRS}) message( ${ OpenCV_LIBS})else() message("OpenCV not found, so we won't build the project.")en_find_package 指定路径。https://blog.csdn.net/zhizhengguan/article/details/115207345。
。综上所述,:
1.可以在CMakelists中使用.cmake环境变量设置在txt文件中。
_ROOT (支持搜索子目录,但需要设置cmp0074策略)或 _DIR(不支持子目录搜索OpenCVonfig必须指定.cmake目录)。 2.在执行cmake命令时,可以添加-d选项指定目录。
CMAKE_PREFIX_PATH 或 CMAKE_FRAMEWORK_PAT或CMAKE_APPBUNDLE_PATH。
3.搜索系统环境变量Path 。
演示:
1.设置
查看OpenCVOnfig.cmake文件目录:
cmake_minimum_required(VERSION 3.0)project(Demo)set(OpenCV_DIR "~/lib/opencv4.9.0_install/lib/cmakeopencv4") #Find_对应上面刚查的目录package(OpenCV 4.9 REQUIRED)message("find ${ OpenCV_VERSION}")。
运行cmake,看到输出。即可。
2.添加-D选项指定目录。
cmake_minimum_required(VERSION 3.0)project(Demo)# set(OpenCV_DIR "~/lib/opencv4.9.0_install/lib/cmake/opencv4#34;)find_package(OpenCV 4.9 REQUIRED)message("find ${ OpenCV_VERSION}")。
注释set命令,通过-D选项搜索#xff1a;
cmake -B build -DCMAKE_PREFIX_PATH=~/lib/opencv4.9.0_install。
成功搜索
。
你可以看到支持子目录搜索,不需要准确地进入具体的文件目录。
另外,在CMakelists中.CMAKE___也可以直接设置在txt文件中PREFIX_PATH:
cmake_minimum_required(VERSION 3.0)project(Demo)# set(OpenCV_DIR "~/lib/opencv4.9.0_install/lib/cmakeopencv4")set(CMAKE_PREFIX_PATH "~/lib/opencv4.9.0_install")find_package(OpenCV 4.9 REQUIRED)message("find ${ OpenCV_VERSION}")。
3.通过PATH搜索系统环境变量。 。
gedit ~/.bashrc。
在文件底部添加以下命令:
export PATH=~/lib/opencv4.9.0_install:$PATH。
别忘了重新执行当前终端的source.xff00bashrc脚本c;或者新打开终端会自动source。 :
source ~/.bashrc。
Path设置的目录支持递归搜索。
验证:
cmake_minimum_required(VERSION 3.0)project(Demo)find_package(OpenCV 4.9 EXACT REQUIRED)message("find ${ OpenCV_VERSION}")。