在研究sift算法時發現opencv3.X版本中有些庫函數被去掉了。網上查了一下,確實沒有sift算法這部分代碼了,需要通過網上下載附加庫opencv_contrib-3.2.0進行cmake編譯就可以用了,於是進入漫長的cmake編譯之旅!!
1.網上下載cmake

進入網站下載一個cmake,這里我下的是當前網站上的最新版本,個人覺得這個對編譯影響不大。進入界面下載如下方式:

這里選擇:
Windows win64-x64 Installer: Installer tool has changed. Uninstall CMake 3.4 or lower first! cmake-3.8.0-win64-x64.msi
安裝時選擇:
該圖片來自百度經驗
這樣安裝完就不用配置軟件的路徑了,最好將Create CMake Desktop Icon 也選上這樣可以很容易找到CMake運行文件,我桌面上的運行文件如圖;

不選也沒關系,到你安裝的cmake路徑下的bin目錄找:D:\work\cmake

雙擊運行cmake界面如下,兩個路徑必須為純英文,然后Configure:

我這里已經運行好了,網上有很多教程可以看一下。
接下來跟大家分享一下我遇到的錯誤:
1.由於當時沒截圖,所以這里只能說一下大概意思:“CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found”,就是找不到C++譯器!
解決辦法:將opencv3.2和vs2015全部從新裝在純英文目錄下,因為cmake不識別中文,這個錯誤很是雷人!!!
裝完運行cmake沒有錯,
2.加入opencv_contrib-3.2.0的路徑,步我在cmake之前就做了,只是將opencv_contrib-3.2.0放在opencv文件夾里,cmake就自己加載了,不放的話自己手動改加載一下也可以:

3.“Generate”時需要網下載:opencv\opencv\sources\3rdparty\ffmpeg路徑下會多出來一個download文件夾,下載3個文件,否則會報錯!

總結:跟人認為開源軟件或者英文軟件還是裝純英文路徑吧!不然重裝軟件就是一件很悲催的事情,尤其還要配環境!!!
