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沒有包含完整。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章