Win7上編譯OpenCV3.2與擴展模塊

一:準備

前幾天在寫代碼的時候發現周圍有人都換到了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的配置搞好啦!

測試程序運行結果:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章