OpenCV的全稱是Open Source Computer Vision Library,是一個跨平台的計算機視覺庫。OpenCV是由英特爾公司發起並參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發實時的圖像處理、計算機視覺以及模式識別程序。 (from wiki)

這篇將帶領讀者編譯OpenCV並且安裝相關執行檔與開發所用的標頭檔(如:確保pkg-config --cflags opencv, pkg-config --libs opencv正常),若是用"brew install opencv"則不會安裝cv.h等c/cpp開發用標頭檔。

Environments:

  • Mac OSX 10.7.* ( & Windows 7 32/64 bits)
  • (Visual Studio 2010)
  • OpenCV 2.4.2
  • Xcode 4.5.1
  • g++ 4.2
  • cmake 2.8.8
  • homebrew

編譯與安裝OpenCV

一開始先下載OpenCV 2.4.2的Source Code for Unix版本,並透過homebrew安裝cmake(brew install cmake)或至cmake官網下載原始檔自行編譯安裝。接著照以下指令編譯並安裝OpenCV:

tar -zxvf OpenCV-2.4.2.tar.bz2

cd OpenCV-2.4.2

mkdir release

cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..

make install  # 大概需要5~10分鐘

執行完cmake後的terminal畫面會像是這樣:

執行make install的terminal畫面(大概需耗費5~10分鐘):

都安裝好還得手動把haartraining相關的標頭檔(.h)複製至系統內,以避免gcc/g++編譯時找不到的錯誤(如:error: cvhaartraining.h: No such file or directory, error: _cvhaartraining.h: No such file or directory)。不知道為什麼就唯獨這部份的標頭檔沒有安裝......


cd apps/haartraining

cp *.h /usr/local/include/opencv/.

Windows User

下載OpenCV 2.4.2 的Win版本,並至cmake官網下載Win32 Installer的安裝檔,接著解開OpenCV的檔案與安裝cmake。

完成以上步驟後,打開cmake-gui,設定source code路徑至OpenCV解開的資料夾位址,binaries的位置則在OpenCV內建一個release資料夾並指向release,然後按下configure設定Compiler為自身電腦的gcc(此處為Visual Studio 10 Win64)。

接著按下Generate產生OpenCV的Visual Studio Solution(用來產生opencv libraries, dlls等檔案),如下圖: 

*紅框可以不用理會,因OpenCV涵蓋範圍很廣,有些部分硬體沒有支援才會導致configure時找不到系統設定值,只要下方最後出現"Configuring done"即可。

完成以上步驟後,至release資料夾(即前面創給cmake產生build結果的資料夾)用Visual Studio開啟OpenCV.sln,接著將建置 (build)選項從Debug改成Release後建置專案。

最後,也是最重要的步驟。將我們用VS建置出來的資料夾位址加到系統變數(我的電腦右鍵 -> 內容 -> 進階系統設定 -> 環境變數)的Path中,位址會是在release內的bin/release,記得編輯Path時因原本就有些位置,所以需要用分號(;)來接一個新的位址給Path。例如:D:\opencv\release\bin\Release。

Reference