一开始在ubuntu上安装opencv3.4.3是已经安装好的了,但在做aruco方面的问题时,qt下编译时这个找不到哪个找不到,这时我感觉应该是opencv安装的问题了,后来经过百度,发现是opencv将目前还不是很稳定的模块功能放在了opencv_contrib中,而我的ubuntu16.04中只编译了opencv3.4.3的源码版,所以才会提示找不到aruco模块,安装opencv_contrib需要在cmake阶段设置,所以我将opencv卸载并重新安装。

第一步:下载一资源
opencv3.2.0 + opencv_contrib 3.2.0,一定要下载对应版本的,不然会报错,官网上都有,这里给出下载链接:
opencv3.2.0下载地址:https://github.com/opencv
opencv_conrib-3.2.0下载地址:https://github.com/opencv/opencv_contrib/tree

下载linux的版本的。把 opencv_contrib 3.2.0复制到opencv3.2.0y解压后的文件截图如下:
在这里插入图片描述
二、OpenCV和Opencv_contrib的编译安装

1、安装依赖
在终端输入以下三条命令,安装所需要的依赖:

1. sudo apt-get install build-essential

2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2、cmake生成makefile
2.1、将下载好的OpenCV解压到自己的目标目录中,我提取到home目录下,为了方便重命名为opencv,将opencv_contrib-3.2.0提取到opencv目录下,同时在该目录下新建一个文件夹build
在这里插入图片描述
2.2、进入build目录。并且执行cmake生成makefile文件

第一步:
cd opencv-3.2.0/build

第二步:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/opencv/opencv-3.2.0/opencv_contrib3.2.0/modules/ ..

如果不安装opencv_contrib模块,则第二步的命令为:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local

其中OPENCV_EXTRA_MODULES_PATH=/home/opencv/opencv-3.2.0/opencv_contrib3.2.0/modules/ …
是指opencv_contrib-3.2.0中modules所在的路径,后面的两点不可省略。

3、make和install
在cmake成功之后,就可以在build文件下make了。

第1步:
sudo make
第2步:
sudo make install

至此我们的opencv和opencv_contrib就编译安装完成了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐