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