linux qt opencv安裝配置(詳細版)
目錄
linux qt opencv安裝配置詳細版 目錄 linux安裝配置 1 下載系統鏡像 2 系統磁碟分割 3 製作隨身碟啟動盤 4 安裝系統 5 easybcd修複系統引導 qt的安裝配置 1 安裝一些依賴的軟體包 2 下載安裝qt 3 配置 4 測試 opencv安裝配置 1 安裝必要的包 2 從github下載源碼包 3 編譯安裝 4 配置 5 測試
1. linux安裝配置 1.1 下載系統鏡像
系統鏡像可以從linux開源社區,ubuntu release等地方下載。下面以ubuntu16.04 LTS為例,如何在win7下安裝win7+linux雙系統。 1.2 系統磁碟分割
可以參考百度經驗系統內建的分區方法 1.3 製作隨身碟啟動盤
用隨身碟安裝最為安全,製作啟動盤的方法也有很多,我的選擇是使用YUMI muti-boot工具,理由是我可以在同一個隨身碟中刻入多個版本的系統(windows或linux),只要隨身碟有足夠的空間。因為系統重裝是經常的事,所以我製作了win7+ubuntu雙系統啟動盤。
YUMI綠色版下載地址
製作過程: 開啟YUMI 在下拉式清單選擇所要製作的系統類別型 點擊瀏覽找到指定鏡像 點擊開始,等待完成
添加新的鏡像時也是如此,還可以刪除已經刻入的鏡像。 1.4 安裝系統
插入隨身碟重啟電腦,按快速鍵選擇啟動的方式為隨身碟啟動,選擇所要安裝的系統,下面的安裝過程都有嚮導,唯一要注意的是不要直接點擊安裝,最好點擊其他選項自己設定系統檔案,選擇新的系統磁碟分割,設定和劃分檔案系統 / 根目錄,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-devsudo apt-get install libxext-dev libxfixes-devlibxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-devlibxmu-dev libxmuu-devsudo apt-get install libxpm-dev libxrandr-devlibxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-devlibxvmc-devsudo apt-get install libglib2.0-devsudo apt-get install libssl-devsudo apt-get install libgtk2.0-devsudo apt-get install libcups2-devsudo apt-get install libgl1-mesa-devlibglu1-mesa-devsudo 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.runsudo ./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:$PATHexport 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-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-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.zipwget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip #拓展模組unzip 3.2.0.zip
3.3 編譯安裝
cd opencv-3.2.0/mkdir buildcd 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 .. #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添加pathsudo gedit /etc/bash.bashrc添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
3.5 測試
開啟qtcreator,建立工程,配置pro檔案:
TEMPLATE = appCONFIG += console c++11CONFIG -= app_bundleCONFIG -= qtSOURCES += main.cppINCLUDEPATH += /usr/local/include \ /usr/local/include/opencv \ /usr/local/include/opencv2LIBS += /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沒有包含完整。