在研究sift算法時發現opencv3.X版本中有些庫函數被去掉了。網上查了一下,確實沒有sift算法這部分代碼了,須要經過網上下載附加庫opencv_contrib-3.2.0進行cmake編譯就能夠用了,因而進入漫長的cmake編譯之旅!!算法
1.網上下載cmake函數
進入網站下載一個cmake,這裏我下的是當前網站上的最新版本,我的以爲這個對編譯影響不大。進入界面下載以下方式:網站
這裏選擇:spa
Windows win64-x64 Installer: Installer tool has changed. Uninstall CMake 3.4 or lower first! cmake-3.8.0-win64-x64.msi3d
安裝時選擇:blog
該圖片來自百度經驗教程
這樣安裝完就不用配置軟件的路徑了,最好將Create CMake Desktop Icon 也選上這樣能夠很容易找到CMake運行文件,我桌面上的運行文件如圖;圖片
不選也不要緊,到你安裝的cmake路徑下的bin目錄找:D:\work\cmakeget
雙擊運行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個文件,不然會報錯!
總結:跟人認爲開源軟件或者英文軟件仍是裝純英文路徑吧!否則重裝軟件就是一件很悲催的事情,尤爲還要配環境!!!