linux qt opencv安装配置详细版

linux qt opencv安装配置(详细版)

目录

1. linux安装配置

1.1 下载系统镜像

系统镜像可以从linux开源社区ubuntu release等地方下载。下面以ubuntu16.04 LTS为例,如何在win7下安装win7+linux双系统。

1.2 系统分区

可以参考百度经验系统自带的分区方法

1.3 制作U盘启动盘

用U盘安装最为安全,制作启动盘的方法也有很多,我的选择是使用YUMI muti-boot工具,理由是我可以在同一个U盘中刻入多个版本的系统(windows或linux),只要U盘有足够的空间。因为系统重装是经常的事,所以我制作了win7+ubuntu双系统启动盘。

YUMI绿色版下载地址

制作过程:

  • 打开YUMI
  • 在下拉列表选择所要制作的系统类型
  • 点击浏览找到指定镜像
  • 点击开始,等待完成

添加新的镜像时也是如此,还可以删除已经刻入的镜像。

1.4 安装系统

插入U盘重启电脑,按快捷键选择启动的方式为U盘启动,选择所要安装的系统,下面的安装过程都有向导,唯一要注意的是不要直接点击安装,最好点击其他选项自己设置系统文件,选择新的系统分区,设置和划分文件系统

  • / 根目录,ext4格式,容量较大
  • swap 交换区,4G
  • boot 系统引导,ext4格式,200M
  • home 用户目录,ext4格式,容量较大

下一步很关键,看看boot的分区编号,在下方的系统引导下拉列表中选择该分区,然后点击安装,下面都是自动完成的。

1.5 easybcd修复系统引导

首次安装完重启,很可能直接进入win7系统,我们可以在win7系统里用easybcd工具修复一下,下载完打开,可以查看当前的系统引导项目,如果只有win7的可以添加条目,并选择boot的那个分区,设置好开机时等待用户选择系统的时间。重启后就会出现让用户选择进入那个系统的界面。

2. qt的安装配置

2.1 安装一些依赖的软件包

g++ :

sudo apt-get install build-essential

其他一些包:

sudo apt-get install libX11-dev libXext-dev libXtst-dev

下面这些不确定是否是必须的:

sudo apt-get install libx11-dev libxau-devlibxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-devlibxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-devlibxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-devlibxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-devlibxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-devlibxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-devlibglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev

2.2 下载安装qt

下载地址,可以下载源码版,或二进制文件版,后者安装十分简单,文件名为qt-opensource-xxx.run,该文件即包含了qt库,也包含了qt creator。打开终端

sudo chmod +x qt-opensource-linux-x64-5.3.0.run
sudo ./qt-opensource-linux-x64-5.3.0.run

等待自动安装,安装完成后,软件一般位于/opt/目录下

2.3 配置

设置系统path

Sudo gedit/etc/bash.bashrc
打开后,在最后添加如下
export QTDIR=/opt/Qt5.3.0/5.3/gcc_64 #根据自已的具体版本
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
保存一下
source /etc/bash.bashrc

qt creator位于/opt/Qt5.5.1/Tools/QtCreator/bin下面,添加path后,在终端输入qtcreator就可以启动,

export PATH="$PATH:/opt/Qt5.5.1/Tools/QtCreator/bin"

启动Qt Creator -> Tools -> Options ->Build &Run->qt vision,看一下是否自动检测到qmake,没有的话,手动添加并找到它,位于/opt/Qt5.5.1/5.5/gcc/bin/qmake

2.4 测试

new project->non-qt project->plain C++ project,写一个hello world程序测试一下。

##3. opencv安装配置

3.1 安装必要的包

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libswscale-dev ffmpeg libavcodec-dev libavformat-dev libavdevice-dev
#以下可选
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

3.2 从github下载源码包

cd ~/
wget https://github.com/opencv/opencv/archive/3.2.0.zip #主模块
unzip 3.2.0.zip
wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip #拓展模块
unzip 3.2.0.zip

3.3 编译安装

cd opencv-3.2.0/
mkdir build
cd build 	#build目录
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_GTK=ON -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DWITH_QT=OFF -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" .. #cmake编译
make -j4
sudo make install #安装

安装完成后,在/usr/local/include放opencv头文件按,/usr/local/lib放库文件。

3.4 配置

添加库路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
打开后添加
/usr/local/lib
更新系统库
sudo ldconfig
添加path
sudo gedit /etc/bash.bashrc
添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH

3.5 测试

打开qtcreator,新建工程,配置pro文件:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += /usr/local/include \
                /usr/local/include/opencv \
                /usr/local/include/opencv2

LIBS += /usr/local/lib/libopencv_highgui.so \
        /usr/local/lib/libopencv_core.so \
        /usr/local/lib/libopencv_imgcodecs.so \
        /usr/local/lib/libopencv_videoio.so \
        /usr/local/lib/libopencv_imgproc.so

源文件:

#include <iostream>
#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include "opencv2/imgproc.hpp"

using namespace std;
using namespace cv;

int main()
{
    Mat img;
    img = imread("lena.jpg",-1);
    imshow("a", img);
    cvWaitKey(0);
    return 0;
}

注意:图片如果不写全路径,要放到项目的debug的目录下,并非源文件目录下,否则会终端窗口会出现:opencv error: assertion failed(size.width>0, size.height>0) in imshow …提示,无法显示图片。

当出现undefine reference symbols错误时,应该是pro文件中libs没有包含完整。

猜你喜欢

转载自blog.csdn.net/healingwounds/article/details/78596335