Ubuntu14.04系统下安装OpenCV 4.0.0开发环境全过程

版权声明:个人心得,欢迎来信来函交流。转载请注明出处! https://blog.csdn.net/LEON1741/article/details/85048614

最近研究一个项目时需要用到OpenCV,于是自己尝试在Ubuntu 14.04系统下安装了这个开发环境。下面就将具体的过程记录一下,便于后期查阅和同行分享。

〇、开发环境

首先介绍一下我的开发环境:

  • 物理系统:Win 10 64位;
  • 虚拟工具:Virtualbox 5.2.2;
  • 虚拟系统:Ubuntu 14.04;
  • 软件版本:OpenCV 4.0.0;

一、准备工作

首先,需要在你的机器上安装一系列必要的工具,包括:

sudo apt-get update                                      # 这是为了更新你的软件源
sudo apt-get install build-essential                     # 这是为了安装编译所需的库
sudo apt-get install cmake pkg-config git                # 这是为了安装一些必要的工具
sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libgstreamer1.0-dev  libgstreamer-plugins-base1.0-dev

然后,你可以去网上下载OpenCV的源码,我是采取git仓库克隆的方式,直接获取最新的版本,如下:

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

二、编译安装

1、建立编译目录

源码下载完成后,进入该目录下,执行以下语句:

cd opencv
mkdir build
cd build

这是为了在源码的根目录下建立一个临时目录,用于存放编译所产生的文件,不至于污染源码,使得你的源码可以根据不同的配置命令分别编译出多份可执行文件,每一份都很清晰,不至于混在一起。这个思路,有一个很官方的名字叫OUT SOURCE BUILD,意思就是在代码之外的地方进行编译。而与其相对的,就是IN-SOURCE BUILD,意味在代码内进行编译。所以,如果你不按照我上面的步骤新建一个目录然后到目录里面去编译的话,系统就会给出一个提示说“In-source builds are not allowed.”,这里就不截图了。

2、编译安装源码

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.0.0 ..
make
sudo make install

说明一下

  • 第一步中,我配置了两个参数,第一个参数是指定程序为发布版本,第二个参数是指定安装目录,你可以根据你的需要自定义修改;
  • 第一步中,可能会需要下载一个IPPICV插件,据网上不少同学说,该插件不好下载,耗时较久,容易失败,同时也提供了一些解决方案。可是我自己尝试了三次,都很快就下载好了,因此在此不做多说,如果哪位同学发现自己编译的过程中下载该插件时卡住,那么请自行百度;
  • 第三步中,一定要记得加上sudo,不然会提示权限不够;

三、测试效果

完成了上述的所有步骤,就已经万事俱备,只欠东风了。下面我们就开始进行验证测试。

进入opencv的源码目录,里面有一个sample/cpp/example_cmake的子目录,里面有一个很简单的例程,我们就用这个例程来进行演示:

cd opencv/samples/cpp/example_cmake/
cmake .           # 请注意,这里的cmake后有一个空格,然后是一个点号
make

编译成功了,运行一下试试:

leon@Ubuntu:~/opencv/samples/cpp/example_cmake$ ./opencv_example 
Built with OpenCV 4.0.0-dev

(opencv_example:13315): GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed
VIDEOIO ERROR: V4L: can't open camera by index 0
No capture

图像如下:
在这里插入图片描述
这是因为我的是虚拟机,没有摄像头,因此显示了黑屏。这一点在上面的输出提示信息中也可以看到。如果你的是物理机,也有摄像头,那么就会显示出摄像头的画面并叠加上hello opencv的提示语句。

到此,所有工作全部顺利完成!恭喜!

猜你喜欢

转载自blog.csdn.net/LEON1741/article/details/85048614