ubuntu下cmake编译指定opencv版本(傻瓜式教程)

2020年10月18日 阅读数:5
这篇文章主要向大家介绍ubuntu下cmake编译指定opencv版本(傻瓜式教程),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

这里具体指当咱们不想使用系统默认版本时的指定方法。好比系统默认的版本为opencv2.4.9,而咱们创建的project须要使用opencv3.4,好比opencv3.4安装在/opt/utility/下。ubuntu

1. cmake编译

ubuntu下常用cmake编译造成makefile,cmake编译主要依赖CMakeLists.txt。当使用到opencv时,因为opencv2和opencv3之间有些许区别,有些库并不相同,那么当系统中同时安装多个opencv时在cmake编译时如何指定版本呢?bash

很是简单的方法,即在CMakeLists.txt中指定opencv路径便可。ui

须要知道的是,当安装好opencv时,会在其目录下产生一个OpenCVConfig.cmake文件。这个文件中指定了的CMake要去哪里找OpenCV的,其的.h文件在哪里等,好比其中一行:code

(OpenCV_INCLUDE_DIRS “ /home/ubuntu/src/opencv-3.1.0/build ”  “ /home/ubuntu/src/opencv-3.1.0/include ”  “ /家/ Ubuntu的/ src目录/opencv-3.1.0/include/opencv “)

咱们只须要将OpenCVConfig.cmake的路径添加到CMakeLists.txt中便可。具体是:it

在对应project的CMakeLists.txt文件中找到io

find_package(OpenCV REQUIRED

而后在上面添加OpenCVConfig.cmake的路径,好比:编译

 set(OpenCV_DIR“/home/ubuntu/src/opencv-3.1.0/build”)

注意OpenCVConfig.cmake的位置根据不一样安装方法或版本的不一样而存在于不一样位置,好比下面的添加方法:opencv

 set(OpenCV_DIR “/opt/utility/opencv-3.4/share/OpenCV”)

2. 系统环境中修改默认opencv版本class

在~/.bashrc中设置环境变量:变量

export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig
export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib

注意先看opencv安装文件后再进行路径指定。主要查找lib位置和pkgconfig位置,好比有版本为:

export PKG_CONFIG_PATH=~/opencv-3.4/lib/pkgconfig
export LD_LIBRARY_PATH=~/opencv-3.4/lib

而后再终端查看默认版本:

pkg-config --modversion opencv