[计算机视觉]ubuntu16.04安装opencv3.1.0+Qt5.6.0

来源:互联网 发布:李炎恢php怎么样 编辑:程序博客网 时间:2024/05/18 03:26

参考http://lib.csdn.net/article/opencv/25737

http://blog.csdn.net/yehuohan/article/details/51327465

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

作者:yehuohan

1、安装依赖的库

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左右
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Q1 :Unable to locate package build-essential

在安装 g++ 等工具时 会提示 Unable to locate package build-essential,这种情况下先执行 sudo apt-get update 更新一下, 更新完。继续 sudo apt-get install build-essential

在文件无法保存的时候, 可以使用命令 sudo vim ./etc/apt/sources.list  可以实现保存

其实错误信息已经很明确了,Unable to locate packet就是无法找到包嘛,那还不赶紧sudo apt-get update下!

Q2 ubuntu 连接无线网wifi (当然连有线也可以),在线升级安装 

ubuntu开机后没有显示无线网,如何设置

http://jingyan.baidu.com/article/7f766daf42b7984101e1d0be.html
连有线下载无线驱动

ADD  sudo apt-get install命令解释

sudo 以其他身份来执行指令sudo可让用户以其他的身份来执行指定的指令t。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

apt-get 一个下载的命令参数有install 安装 update 更新 remove 移除 check 检查。比如: sudo apt-get install samba-3.0-7 下载并安装一个名字为samba-3.0-7的程序


2、下载源码

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

3、使用cmake安装

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

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

sudo apt-get install cmake-qt-gui
  • 1
  • 1

然后打开cmake-gui: 
这里写图片描述 
“/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 下的同名文件即可,注意替换后,重新编译,或着一开始就放进去 

4、安装OpenCv

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

make -j7    // 7个线程编译sudo make install    // 安装
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

5、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;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

方法一:使用CMake生成OpenCv工程

  • 编写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库
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 编译程序
//目录结构:/*test - text.cpp             //cpp文件       - CMakeLists.txt     //cmake生成文件       - pic.jpg            //测试图像*/cd testcmake .    // 生成makefile, “.”表示在当前目录生成make    // 编译./test    //运行程序
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

方法二:使用Qt作为IDE环境生成opencv工程

  • 配置qt的cmake构建方案(需要安装cmake): 
    1、打开Qt,找到 “工具->选项->构建和运行->构建套件”,如下图设置: 
    这里写图片描述
    其中cmake安装好,Qt会自动配置好 “CMake” 参数的 
    2、开始新建opencv工程 
    新建工程 - 选择Non-Qt project 然后先Plain C++ Application 
    这里写图片描述 
    3、然后下一步 
    这里写图片描述 
    4、 选择CMake 
    这里写图片描述 
    5、只选择刚配置的构建套件 
    这里写图片描述 
    6、点完成 
    这里写图片描述 
    7、会出现下图对话框,点 “执行CMake” 就可以点 ”完成“ 了 
    这里写图片描述 
    8、然后编定main.cpp和CMakeLists.txt文件,CMakeLists.txt要增加最后两行代码 
    这里写图片描述
    然后运行即可出结果,这里要注意的是,如果使用了”影子构建”(即项目构建生成的文件单独放在一个文件夹中,如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步开始配置项目,过程一样的。


方法三:使用Makefile生成opencv工程

  • main.cpp使用之前的即,建立如下Makefile文件
#Makefile#使用g++编译,且以C++11标准CXX = g++ -Wall -std=c++11#opencv需要的参数CFLAGS =`pkg-config opencv --cflags` `pkg-config opencv --libs`#只使用上面这一名,会提示"libippicv.a"这个库找不到,所以自己添加上UFLAGS = -L /usr/local/share/OpenCV/3rdparty/lib/ -l ippicv#可执行文件名称TARGET = main#源文件SOURCE = main.cppTARGET:    $(CXX) -o $(TARGET) $(SOURCE) $(CFLAGS) $(UFLAGS)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 然后make,即可编译,接着就可以运行了

方法四:使用qmake生成opencv工程

qmake需要编写pro文件,如下test.pro:

# app工程TEMPLATE = app# 文件名称TARGET = test# 配置,添加pkg-config工具CONFIG += \    console \    link_pkgconfig# 添加opencv的库PKGCONFIG += opencv# 添加opencv第三方库ippicvLIBS += -L /usr/local/share/OpenCV/3rdparty/lib -lippicv# 源文件SOURCES += \    main.cpp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

然后用如下命令

qmake test.pro    // 会生成makefilemake./test    // 编译完成,即可运行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

有了pro文件,也可以用qt creator打开工程,然后同样可以运行。 
同时,也可以使用qt creator建立plain c++项目,使用qmake,然后改pro文件。


0 0
原创粉丝点击