2013年12月17日 星期二

Debian(Linux)下, 安裝 QT5 搭配 opencv 的流程



原由:

因為, 這學期有修習數位影像處理的課程,需要使用一套影像處理的函式庫, 來實習驗證上課老師 講的內容,以及交作業。 原本,懶惰的我想要以一套 BCB 打天下,在嘗試後發現 十幾年前 BCB 已經無法使用 opencv 2.x 版的函式庫了。雖然,還是可以在 opencv 1.x 下茍延殘喘。 但長遠看來,一直堅守在 BCB 不是長遠之路。無奈下,終於決定澈底拋棄 BCB, 尋找新的解決方案。

有鑑於,網路上的教學大多不完整,細節沒講清楚。常常就因為一個細節不清楚就卡住了,造成時間的浪費。 且網路上的教學,大多是針對 windows 平台的,少有針對 Debian (Linux)的教學。所以才想說,既然已經安裝完成了,就將過程紀錄下來,以供別人以及自已以後參考。

解決方案: Debain + QT5 + OpenCV

雖然小弟我個人,已經不用 windows 很久了。但是也不排除,使用到 windows 平台的可能性。況且作業,還是要交 windows 的版本, 所以開發軟體就選用跨平台,又不用錢的 QT5。

而小弟工作上使用的 OS 都是 Debian, 所以作業系統就是 Debian 了, 其它 linux 系統也是大同小異。

所以這次的組合就是 Debian + QT5 + OpenCV

流程 & 方法

  • 安裝  opencv
    先下載 opencv source code, 可以直接下載 source code tar ball, 也可以直接使用 git, 我是直接使用 git 的方式, 我個人覺得比較方便。
在你要放 opencv source code 的地方

  1. $git clone git://github.com/Itseez/opencv.git
    $cd opencv
    $git checkout 2.4
    $mkdir build
    $cd build 
設定 opencv 環境
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local ..
          編譯安裝
make && suod make install 

  •  安裝Qt5部份就不說明了,一直按 next 就對了
  •  Qt5 中,使用 opencv 的設定
  1. 將 opencv 的 pkgconfig 加入, pkg-config 的搜尋路徑(很多教學不是這步沒寫, 就是寫的不清不楚)
    在 rc 檔中加入 pkg-config 的路徑
    $vi ~/.bashrc
    最後面加入
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  2. 測試  pgk-config 有沒有設定成功
        $pkg-config opencv --cflags
        $pkg-config opencv --libs

  3. 使用Qt5建立一 console project
  4. 打開專案檔 .pro,加入 header file 及 libs 路徑

    INCLUDEPATH += /usr/local/include/opencv
    LIBS += `pkg-config opencv --cflags --libs`

5. 這樣就設定完成了

在使用 Debian + Qt5 + OpenCV 之前, 我的解決方案是用 debian + java + opencv 有空再來寫一寫