1. 程式人生 > >MAC Windows linux(樹莓派)三平臺配置 opencv2.4.13 + QT環境

MAC Windows linux(樹莓派)三平臺配置 opencv2.4.13 + QT環境

一、MAC平臺

在xcode上面配置好了opencv之後就可以進行QT的配置:
http://blog.csdn.net/tianzhaixing2013/article/details/52077064
在上面的博文的基礎上我補充一點,在helloCV.pro 末尾新增的程式碼中可以替換成下面的完整版本,但是注意不同版本的opencv的庫不同,此處用的是opencv2.4.13:

# 匯入opencv的路徑
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2

# 匯入opencv的完整庫
LIBS += -L/usr/local/lib \
    -lopencv_calib3d \
-lopencv_contrib \ -lopencv_core \ -lopencv_features2d \ -lopencv_flann \ -lopencv_gpu \ -lopencv_highgui \ -lopencv_imgproc \ -lopencv_legacy \ -lopencv_ml \ -lopencv_nonfree \ -lopencv_objdetect \ -lopencv_ocl \ -lopencv_photo \ -lopencv_stitching \
-lopencv_superres \ -lopencv_video \ -lopencv_videostab \

二、Windows平臺

win10中配置opencv的具體步驟:
http://blog.csdn.net/hfxmath/article/details/53452874
還是補充一下,在上文中寫VS2015中專案的屬性表時可能會出現以下的情況,和博文中的稍有不符,只需要在專案根目錄上面點反鍵選擇屬性在那個對話方塊裡面設定即可,這樣就可以把整個下面呢四個分目錄裡面的內容都設定了。
這裡寫圖片描述

按照上面的步驟配置好opencv的環境之後就可以接著在QT中配置opencv的環境了,這裡說明一下,在下載QT的時候要下載msvc版本,而不要下載MinGW版本,否則要cmake編譯OpenCV然後再匯入,這樣就會很麻煩,大家可以參考:

http://www.tuicool.com/articles/VZfue2
只需要把下載的opencv的包換成2.4.13版本就可以了。其中有些位置還是要更改一下的,在我按照上面的博文實踐的過程中,第五步修改工程的pro檔案中,按照上面的博文的方法不成功,匯入標頭檔案時會報錯,可以使用下面的程式碼來更改:

# 匯入opencv的路徑
INCLUDEPATH+=D:/Opencv/opencv/build/include/opencv
INCLUDEPATH+=D:/Opencv/opencv/build/include/opencv2
INCLUDEPATH+=D:/Opencv/opencv/build/include

# 判斷是debug還是release模式的編譯然後匯入不同的庫檔案
CONFIG(debug,debug|release) {
LIBS += -LD:/Opencv/opencv/build/x64/vc14/lib \
    -lopencv_world320d \
}
else{
LIBS += -LD:/Opencv/opencv/build/x64/vc14/lib \
    -lopencv_world320 \
}

應用以上的程式碼就可以實現配置了。

三、Linux平臺

在Linux平臺上面安裝opencv還是一個比較耗時的工作,我是採用樹莓派平臺作為物件來進行配置的。
首先通過mac的終端或者win下的Xshell(比putty的介面要友好一些)連線樹莓派對其進行控制。以下的命令都是通過上面的終端或者Xshell進行輸入的。
利用ssh通訊連線樹莓派:

ssh pi@192.168.0.102    

後面的是IP地址,根據你們樹莓派的ip地址來修改。連線之後輸入密碼即可啟動樹莓派的ssh通訊。
利用sudo raspi-config 可以進入樹莓派的配置頁面,啟用相應需要的選項。

現在來升級樹莓派,以提供有關的最新發行包:

sudo apt-get update
sudo apt-get upgrade

為了獲取發行包,你可以安裝一個synaptic軟體包管理器,可用於圖形使用者介面取代輸入sudo apt-get 命令來安裝這個軟體包,安裝好opencv之後,用它來安裝丟失的包非常的便利:

sudo apt-get -y install synaptic

(其中的 -y 是指在安裝過程中對於所有需要使用者確認的步驟都預設為yes)。

我們必須安裝python的科學計算庫和數學庫來處理影象以及獲得一些附加功能,輸入以下命令來進行安裝:

sudo apt-get -y install python-numpy python-scipy python-nose python-pandas python-matplotlib ipython-notebook python-sympy

接下來需要安裝GtkGLExt以支援OpenGL的渲染,OpenGL是一個通常由GPU使用以獲取三維和二維圖形的API,我們將在構建OpenCV時啟用它:

sudo apt-get -y install libgtkglext1-dev

為了在樹莓派中打擊那開發環境並將所有的必備庫更新到最新版本中,同時使其與Linux作業系統相容,可以用CMake配置安裝包病管理構建過程,輸入:

sudo apt-get -y install build-essential camke pkg-config

然後就可以安裝QT了(以下安裝的是QT4),輸入以下命令:

sudo apt-get -y install  qtcreator qt4-dev-tools libqt4-dev libqt4-core libqt4-gui v4l-utils

以上我們就準備好了所有的必備軟體包,就可以下載opencv庫了,我們還是和上面一樣,下載opencv2.4.13版本,並且以後可以升級opencv,輸入以下命令來下載OpenCV庫:

wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.13/opencv-2.4.13.zip

下載完官方原始碼檔案之後,用以下命令來解壓檔案

unzip opencv-2.4.13.zip

如果下載的檔案是原始碼的壓縮格式,則可以用以下命令來解壓:

tar xzvf opencv-2.4.13.tar.gz

執行完上述命令之後,整個檔案會放到opencv-2.4.13資料夾中,在該資料夾內建立一個build檔案(用於裝後面的cmake編譯檔案),依次輸入以下命令完成上述過程:

cd opencv-2.4.13
mkdir build
cd build

接下來,我們準備用CMake命令為生成發行版的庫配置型別,檢視CMake的輸出,檢查哪些包安裝了,哪些沒有安裝,沒有安裝的可以手動安裝CMake沒有安裝的包。在檢視CMake輸出之後,你可以發現所有的庫和包之前都標記有YES和TRUE,如果不是這樣,只需要用synaptic包管理器列出這樣額庫和包的名稱進行安裝即可。在如下的命令最後加上 “..” 對於成功建立make檔案非常重要:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_OPENGL=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D WITH_QT=ON -D CMAKE_INSTALL_PREFIX=/USR/LOCAL -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..

下一步就是編譯整個庫,正如我們所看見的那樣,OpenCV有很多的元件。
我們用前述命令cmake生成了一個內部的make檔案。它將被用於我們所選擇的環境當中,由於OpenCV庫中各元件之間的依賴性,執行make命令非常有用:

make

在啟動對話莓派編譯的過程中不要打擾它,即使中間的某個階段編譯掛起或者停滯不前,甚至樹莓派意外關機都不用擔心,只要再次開啟對話,進入到同一個資料夾下重新輸入make命令,這就可以從之前停止的地方繼續進行。

一旦這個耗時最長的任務結束了,我們就可以在樹莓派上安裝已編譯好的庫,安裝庫花費的時間不會像前面的編譯那樣漫長:

sudo make install

我們應該在/etc資料夾下降OpenCV的配置檔案設定為ldconfig。ldconfig可以在/etc/ld.so.conf檔案、/lib與/usr/lib路徑下顯示在命令列中的目錄裡的最新共享庫生成必要的連結,這樣做的目的是告訴樹莓派作業系統我們已經安裝了OpenCV庫,因此要針對OpenCV的配置單獨建立一個檔案:

sudo nano /etc/ld.so.conf.d/opencv.conf

在剛才開啟的檔案中輸入下面的內容:

/usr/local/lib

然後按下Ctrl+O鍵儲存,Ctrl+X鍵退出檔案

輸入 sudo ifconfig, 使檔案中所做的修改生效,我們將在互動式shell原始檔(可用作終端模擬器)中把程式碼貼上到檔案的末尾。檔案相當長,所以要用鍵盤向下滾動:

sudo nano /etc/bash.bashrc

在檔案最後輸入下面的幾行程式碼,請注意在新的一行程式碼中輸入export命令,然後儲存、退出:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

對該檔案的編輯可以讓我們在任意目錄中自由編譯OpenCV程式碼,這和將庫的環境變數新增到Linux作業系統中類似。至此,我們的配置就全部完成了。

如果感興趣的話,也可以在上面安裝的QT中配置wringPi庫來用QT控制樹莓派連線的相關感測器,給樹莓派安裝wringPi庫參考:
http://blog.csdn.net/xukai871105/article/details/17737005
安裝好之後在QT的字尾是 .pro檔案最後加上:

LIBS += -L/usr/lib \
    -lwringPi

就配置好了。

花了兩次監考的時間來碼,也是第一次碼這麼多,希望能對大家有所幫助哦!