【Ubuntu-Opencv】Ubuntu14.04 Opencv3.3.0 安装配置及测试

Ubuntu14.04 Opencv3.3.0 安装配置及测试

网上有许多的Opencv的安装方法,不过找到一个适合自己的安装路数才最为重要,笔者整理了一下自己的安装配置测试过程,仅供学习参考。
我是用的cmake编译源码的方法安装,不用pip,apt-get,conda等安装

a. 安装前的准备工作

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

b. 安装opencv

首先下载opencv源码,下载地址https://opencv.org/releases.html,注意选择下载source源码,我这里下载的是opencv3.3.0版本
cd opencv-3.3.0
mkdir release
cd release
cmake .. 或者 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. (我是用的前面的cmake)

2018.4.30 update
如果是opencv_contrib也要使用,那么需要先下载好文件,cmake的执行命令也就变成
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/用户名/opencv_contrib/modules/ ..

这里写图片描述
make 或者 make -j8 (-j8是指你电脑可用的内核数,有的是j4,不指定也没关系,我用的前面的make)
这里写图片描述
sudo make install (注意一定要加sudo,否则会报出permission问题)
这里写图片描述
pkg-config –modversion opencv (安装结束后,可以用该条命令查看opencv版本)
这里写图片描述

【PS】opencv还有一种cmake-gui安装方式,就是有界面选项,不用直接命令行安装的方式,不过要安装qt-cmake-gui工具,具体的可以参考在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码比较,opencv3进行g++例子程序编译、动态库的制作ubuntu下cmake3.4的安装(有GUI界面)

【PS】2018.5.3 update
在安装opencv + opencv_contrib过程中你或许会遇到下面这个问题:
这里写图片描述
解决办法可参考
[1] ubuntu16.04编译opencv3.4.1和contrib遇到的错误及解决方法 (已实测)不过虽然解决了上述问题,在make的时候还是会出现其他问题,最后没有办法,笔者重新在github上下载了最新的opencv和opencv_contrib重新cmake后解决该问题,至于是什么原因造成的,我到现在也是一头雾水。
终于找到原因了:错在opencv和opencv_contrib不是同一个版本

c. 至此,opencv已经安装完成了,不过不要认为这样就万事大吉了,别忘了配置环境变量

sudo gedit /etc/ld.so.conf (在弹出的窗口中复制如下一段文字:/usr/local/lib)
这里写图片描述
sudo ldconfig (使得配置生效)
sudo gedit /etc/bash.bashrc
(在弹出的窗口中添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
)
这里写图片描述
source /etc/bash.bashrc 使得配置生效

走到这里才算得上是真正安装opencv结束

d. 来个短代码demo测试一下

cd opencv-3.3.0
mkdir demo
cd demo
sudo gedit DisplayImage.cpp

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out <Image_Path>\n");
        return -1;
    }
    Mat image;
    image = imread( argv[1], 1 );
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}

sudo gedit CMakeLists.txt (注意:这里的CMakeLists一定要书写正确,否则无法使用cmake政策编译)
要填写的内容如下:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
这里写图片描述

然后就可以编译测试程序了
cmake .
make
./DisplayImage yourImagefilePath
这里写图片描述
这里写图片描述


参考链接:
【1】: http://www.cnblogs.com/txg198955/p/5990295.html
【2】: http://blog.csdn.net/Function_K/article/details/77899546
【3】: https://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html
【4】: http://blog.csdn.net/Function_K/article/details/77899546

猜你喜欢

转载自blog.csdn.net/lgh0824/article/details/78487234