一:準備
前幾天在寫代碼的時候發現周圍有人都換到了OpenCV3.2上面去啦,我當時就把OpenCV3.1包給刪啦,立馬下載OpenCV3.2,下載地址在這
裏:http://opencv.org/opencv-3-2.html。
選擇Windows自解壓的那個連接點擊進去即可下載OpenCV3.2的Windows版本。下載以後解壓縮到指定目錄即可。
擴展模塊下載地址
https://github.com/opencv/opencv_contrib
同樣下載好之後先解壓縮到指定目錄即可。
然後就可以下載CMake了,我用的是CMake3.7.2這個版本,貌似不是最新版本,大家可以下載最新版本。下載安裝好了之後就可以開始編譯了。
二:編譯OpenCV3.2
說一下機器環境 Win764位 + VS2015。
首先要打開CMake GUI然後設置好源代碼路徑與編譯路徑,顯示如下:
點擊【configure】之後會彈出對話框,讓你選擇編譯的位數與版本,記得一定選擇VS2015 + Win64的,(當然要根據實際情況來),選擇好啦顯示如下:
點擊【Finish】就會開始配置編譯,如果一切順利就會看到如下界面
在一堆紅色區域的Name列對應有一個是設置擴展模塊路徑的額,看下圖的藍色矩形框,選擇設置好即可。
設置好OpenCV擴展模塊的路徑之後再次點擊【configure】按鈕。如果一切正常結束之後再點擊【generate】按鈕。結束之後CMake就編譯好啦。顯然如下圖:
然後在設置的編譯路徑上D:\opencv3.2\opencv\newbuild目錄裏面會有個OpenCV.sln文件,雙擊就可以在VS2015中打開找到
-CMakeTargets->INSTALL右鍵在彈出的菜單中選擇生成即可
如果一切OK,就會生成install目錄,以我本機的目錄結構爲例
D:\opencv3.2\opencv\newbuild\install
點擊進去,配置好VS2015之後即可使用。
上面說的是理論應該這樣順利,但是實際不是這麼回事情。
幾個要注意坑
坑一:
CMake的時候報Download錯誤與MD5文件校驗錯誤,願意是因爲OpenCV3.2中會去下載谷歌的protobuff和TensorFlow相關第三方程序,結果下載不了,網絡就掛啦!原因是OpenCV3.2集成了深度學習框架TensorFlow相關的接口。
坑二
找不到ippicvmt.lib,我也不知道怎麼會事情,OpenCV3.2居然沒有它編譯放到install/lib裏面去,而是在第三方的那個目錄下面lib裏面,所以我手動copy了放到一起。
坑三
我在正常配置之後,在Tracking模塊中發現selectROI函數居然用不了,搞了半天,是因爲tracking.hpp居然沒有把它作爲頭文件包含進來,這個跟OpenCV3.2的教程上有點不一致。所以我手動包含了一下。最終我的OpenCV3.2+VS2015的配置搞好啦!