ubuntu16.04安装opencv3.1.0+Qt5.6.0

安装依赖的库

sudo apt-get install build-essential
    // 必须的,gcc编译环境
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    // 必须的,包括cmake等工具

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    // 可选的,看个人需要,总共5M左右

下载源码

  • 在官网下载:http://opencv.org/downloads.html
  • 或着用git clone:
cd ~/opencv310
    //opencv310为自己建的,源码将放在这里
git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git

使用cmake安装

  • 解压源码包,得到opencv-3.1.0 (用git的话,即是opencv310)
  • 然后建立编译目标文件夹
cd opencv-3.1.0
mkdir build
  • 使用cmake或着用cmake-gui生成Makefile
    (1) cmake方式
cd opencv-3.1.0/build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    // 生成后的Makefile在build文件夹中,而需要的CMakeLists.txt在 ".."中,即上一级文件夹中(opencv-3.1.0

(2) cmake-gui方式
cmake-gui即cmake和图形界面版程序:
先安装cmake-gui

sudo apt-get install cmake-qt-gui

然后打开cmake-gui:
ubuntu16.04安装opencv3.1.0+Qt5.6.0_第1张图片
“/opencv-3.1.0” 和 “/opencv-3.1.0/build”换成自己的,然后先点 Configure 然后点 Generate。

在Configure过程中,若出现
– ICV: Downloading ippicv_linux_20141027.tgz…
。。。。
则下载 ippicv_linux_20141027.tgz,替换掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b 下的同名文件即可

安装OpenCv

在opencv3.1.0/build下,终端运行:

make -j7
    // 7个线程编译
sudo make install
    // 安装

opencv程序编写实例

  • 建立文件夹test
  • 编写test.cpp
#include <opencv2/opencv.hpp> // 注意:使用"/",和windows不同
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
    Mat img = imread("pic.jpg");
    if(img.empty())
    {
        cout<<"error";
        return -1;
    }
    imshow("mypic",img);
    waitKey();
    return 0;
}
  • 编写CMakeLists.txt
project(test)                                       # 工程项目名,编译出来的可执行文件名字

cmake_minimum_required(VERSION 2.8)                 # CMake工具最低版本要求

aux_source_directory(. SRC_LIST)                    # 源文件列表

#include_directories(./header/) # 头文件目录

#link_directories(/usr/local/lib) # 库文件的目录

add_executable(${PROJECT_NAME} ${SRC_LIST})         # 工程项目名和我们要编译的文件名

find_package(OpenCV REQUIRED)                       # 搜索指定的外部依赖库头文件和库文件

target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})   # 链接到OpenCV库
  • 编译程序
//目录结构:
/*
test - text.cpp             //cpp文件
       - CMakeLists.txt     //cmake生成文件
       - pic.jpg            //测试图像
*/
cd test
cmake .
    // 生成makefile, “.”表示在当前目录生成
make
    // 编译
./test
    //运行程序

在Qt作为IDE环境编写opencv程序

  • 配置qt的cmake构建方案(需要安装cmake):
    1、打开Qt,找到 “工具->选项->构建和运行->构建套件”,如下图设置:
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第2张图片
    其中cmake安装好,Qt会自动配置好 “CMake” 参数的
    2、开始新建opencv工程
    新建工程 - 选择Non-Qt project 然后先Plain C++ Application
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第3张图片
    3、然后下一步
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第4张图片
    4、 选择CMake
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第5张图片
    5、只选择刚配置的构建套件
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第6张图片
    6、点完成
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第7张图片
    7、会出现下图对话框,点 “执行CMake” 就可以点 ”完成“ 了
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第8张图片
    8、然后编定main.cpp和CMakeLists.txt文件,CMakeLists.txt要增加最后两行代码
    ubuntu16.04安装opencv3.1.0+Qt5.6.0_第9张图片
    然后运行即可出结果,这里要注意的是,如果使用了”影子构建”(即项目构建生成的文件单独放在一个文件夹中,如build-untitled-Console_GCC_32bit_with_cmake-Default这样的文件夹),则生成的可执行文件也在build-untitled-Console_GCC_32bit_with_cmake-Default文件夹中,上述代码要想显示出图像,就需要将图片文件pic.jpg放在此文件夹中。

9、其实,也可以在Qt中直接 Open Project,然后选择打开CMakeLists.txt,就可以从第5步开始配置项目,过程一样的。

你可能感兴趣的:(ubuntu,qt,opencv)