[MAC]MacOS Sierra 使用CMake 編譯OpenCV 3.2 With Contrib (for C++)

[前言]

OpenCV是一個強大的電腦視覺函式庫

從版本1 2 到現在的3 功能可以說是不斷的進步 不斷的更新

但由於他是第三方的函式庫 興建環境時就略為麻煩

Windows, Mac, Linux, Android ..等環境都可以執行OpenCV 

這篇就以MacOS Sierra為範例來編譯OpenCV


另外一點就是 從OpenCV 3開始 整個函式庫的架構都更改成物件導向的方式

且似乎為了普及與輕量化 官網所提供的Code是基本版的

若要使用更進階的演算法或函式 則要加入Contrib並一起編譯

自行編譯的O penCV除了可以加入Contrib外

編譯出來的檔案會根據你的電腦執行最佳化

總之 若需要進行研究或追求效率等 還是建議要重新再次編譯一次

OpenCV支援多種語言 本次教學我編譯的是C++版本的 可使用Xcode撰寫程式

若有Python的需求 可以參考這篇文章 Python2.7  Python3.5

[該準備的東西]

1.Mac With MacOS Sierra
2.OpenCV 3 的Source Code (官網下載)
3.OpenCV Contrib (Google搜尋 從GitHub抓下來)
4.CMake 安裝檔 (我比較笨 所以我抓GUI介面的)
5.Xcode (預先安裝)
6.Xcode Command Line Tools (同上)

▼OpenCV 3 原始碼 與 Contrib 與 CMake














我不確定Xcode 與Command Line Tools需不需要
不過既然到最後都要用他來Coding
先安裝也無仿

--2017/11/07 update--

經過測試
Xcode和Command Line Tools必須要安裝
而且需要執行過一次
這樣Cmake才抓得到各個編譯器

--------------------------

[Step by Step]

step1 :安裝CMake

▼點兩下安裝 在拉進應用程式 這就快速帶過













step2 :建立編譯專案檔

▼OpenCV Source Code





















裡面的東西大概是長這樣

接著 打開我們剛剛安裝的CMake

▼ CMake






























第一個選項 Where is the source code    選到 OpenCV的資料夾

第二個選項 Where to build the binaries  選到另一個資料夾 
這個資料夾會放專案檔 用來編譯 

選好之後按下下面的Configure


按下之後 會跳出視窗問你要使用什麼方式來編譯

我選擇的是Unix MakeFile 

我第一次是使用XCode 來編譯 但到中途就不知道爲什麼會編譯不了

完成之後應該畫面會是紅色的 出現紅色就再按一次Configure讓他全部變白色



完成之後 在下面清單中找到 OPENCV_EXTRA_MODULES_PATH

▼將他選至剛剛下載的Contrib資料夾中的Modules



















完成之後一樣按下Configure 出現紅字就再按一次

下面清單是編譯OpenCV時的一些參數 可以依據你的需求做更改

▼好了之後應該是長這樣






























之後就按下Generate 他就會開始生成專案檔

若過程發生錯誤則會顯示錯誤資訊在下方的文字


step3 :編譯OpenCV

完成後打開終端機 移動路徑到剛剛生成專案檔的地方 (第二的選項的路徑)

並下指令

make -j4

這個j4代表我使用4線程來編譯並增加速度 可根據個人電腦的需求來更改

這部分會跑滿久一段時間

▼完成後大概是長這樣
























只要跑到100%且沒有報錯 就是完成了

之後再下指令

sudo make install

▼一樣讓他跑完就完成編譯了























step4 :建立專案

這部分沒什麼太大的困難 所以我就用圖快速帶過了

首先先開一個C++的專案

上方點選 Build Setting

滾輪大約一半往上一點的地方 有個Search Path

裡面有Header Search Path 和 Library Search Path

▼按+號新增以下兩個路徑 如下圖
/usr/local/include  //Header
/usr/local/lib      //Library




















完成之後在專案目錄下新增一個資料夾 名稱隨意

▼點選Add Files to "" ...


























▼按下" / "會開啟一個視窗讓你打路徑











▼前往路徑

/usr/local/lib

將裡面開頭有OpenCV的檔案全部加入













Done !

之後就開始OpenCV的Coding吧 !

留言

這個網誌中的熱門文章

[Windows 10] WSL 安裝流程,美化與心得(包含個人優缺點等..)

[Raspberry Pi]在Pi上編譯 OpenCV 和多語言支援(C++&Python2,3) (2019/9/20更)

[MAC] Macbook pro 2011 Late 更換SSD