Ubuntu 16.04.4 配置OpenCV 3.4.1

之前写博客感觉收获很大,但之前因为开题的原因停了好几个月,现在重新回来继续,不过写记录博客不是从之前的位置开始了,因为整个项目要做视觉环境感知,所以这里从Ubuntu的OpenCV配置开始。

    • 内容来源
    • 必要条件
    • 获得OpenCV的源代码
    • 用CMake编译OpenCV


内容来源

这篇博客的内容是来源于官方的指导文档1,可以通过链接去查看原文。下面正式开始记录我是如何配置OpenCV3.4.1的。

必要条件

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

以上的包可以通过控制台进行安装,通过Ctrl+Alt+T快捷键调出Ubuntu的控制台,然后输入以下命令,当然可以直接复制粘贴到控制台中:

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

其中,第一二行指令是必不可少的,第三行则是可选择的,可装可不装,不过本着有总比没有好的念头,我是直接装了的。

获得OpenCV的源代码

可以从GitHub上获得最新版本的OpenCV代码,当然里面也有最前沿的技术代码,都可以从这里面找到。如果你需要Contrib模块的内容,也可从Git上找到。
以上代码可以直接克隆到本地:

cd ~/
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

最新的稳定版本可以从OpenCV的官方网站获得,然后下载并解压到工作目录。
因为目前是边做边学,所以我直接克隆到了本地,克隆到本地之后会在你的工作目录下出现两个文件夹,分别对应你克隆的两部分代码。

用CMake编译OpenCV

这一部分是关键,也是稍微复杂一点的部分,下面详细的记录一下:

1.首先进入克隆的opencv文件夹并创建一个临时文件夹,用来存放Makefile文件,工程文件,目标文件和输出的二进制文件,比如我新建文件名为build,这个名字可以随便取,不过最好全用英文的,不要带中文,以防万一。然后开启一个控制台窗口,将路径切换到建立的文件夹中。

cd ~/opencv  #进入到你克隆的opencv目录,注意是克隆到本地的opencv目录里
mkdir build  #新建一个build文件
cd build

2.配置,使用CMake编译源代码。

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..

PS:命令中最后的” .. “(空格+两个点)千万不要忘记,OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib里的modules模块的路径。CMAKE_BUILD_TYPE=Release\Debug用来指定编译版本的。

3.代码编译

make -j7 #开启7个线程进行编译

4.安装

sudo make install

5.测试

在控制台中将当前路径切换到工作目录下,然后执行以下命令,下载测试例程:

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

下载完成之后进入opencv_extra/testdata,执行以下命令

pwd      #会显示一个完整的路径
export OPENCV_TEST_DATA_PATH=<输入上面显示的路径>   #构建一个临时的环境变量,控制台关闭之后变量失效
cd ~//build/bin  #进入你工作目录下的opencv目录下的build目录下的bin目录
./opencv_test_core

然后就会看到如下几张图的效果:
Ubuntu 16.04.4 配置OpenCV 3.4.1_第1张图片
Ubuntu 16.04.4 配置OpenCV 3.4.1_第2张图片

这应该是测试通过了的,下面说有10个无效的测试,回去找没有找到,不过最终结果是PASSED,应该没有问题,到时候万一遇到问题,再解决。


你可能感兴趣的:(OpenCV)