參考文章:
https://blog.csdn.net/niuyuanye/article/details/79607770
一、電腦環境:win10 VS2015 cmake3.11.3
二、背景:爲了使用opencv dnn模塊,安裝了opencv 3.4.1預編譯版,安裝很簡單,但有一個問題,程序運行的時候無法進入到函數內部實現中,這給剛接觸dnn模塊的我增加了調試的難度,出問題了無法進行調試,因此還是決定自己編譯一下。所有涉及到的文件均給出百度雲下載路徑!
三、下載鏈接:
opencv3.4.1百度網盤下載鏈接:https://pan.baidu.com/s/17Vilcmlw5Ce6KK2mfsmcWQ 密碼:rl5c
opencv_contrib-3.4.1百度網盤下載鏈接:https://pan.baidu.com/s/131yLMC96Bo-YKv1omXVVPQ 密碼:mg8d
ffmpeg_version.cmake百度網盤下載鏈接:https://pan.baidu.com/s/1H6uxba0cgRUsdBcI69axow 密碼:xsbb
opencv_ffmpeg.dll百度網盤下載鏈接:https://pan.baidu.com/s/1bTzOMjDDGrvcaZWIvsdSlw 密碼:rynu
opencv_ffmpeg_64.dll百度網盤下載鏈接:https://pan.baidu.com/s/1k5iBc1-vYBGCYtSWXSG2_g 密碼:epan
face_landmark_model.dat百度網盤下載鏈接:https://pan.baidu.com/s/1vyYrn66GjXYpZvbtve5azg 密碼:km0k
四、cmake編譯opencv
1、下載opencv3.4與opencv_contrib3.4相對應的版本,上文已給出百度雲下載鏈接;
2、Cmake編譯Opencv3.4,選定 源碼路徑 和 編譯輸出路徑,下圖是我的源碼路徑和編譯輸出路徑,然後單擊configure;
單擊configure後,彈出一個界面,我的選擇如下圖設置,單擊“Finish”即可開始編譯;
這個過程會出現很多錯誤需耐心反覆編譯,主要原因是他要從國外網站下載文件,若下載失敗就編譯不通過,以紅色顯示;
解決辦法:手動下載。查看D:\software\opencv3.4.1\build中打開CMakeDownloadLog.txt文件,裏面有下載失敗文件的鏈接及 下載文件要保存到本地的路徑,將文件覆蓋到保存的本地路徑和D:\software\opencv3.4.1\opencv-3.4.1\.cache相應的路徑 中,並按照我下載失敗的分別爲opencv_ffmpeg.dll、opencv_ffmpeg_64.dll、ffmpeg_version.cmake、 face_landmark_model.dat,上文已給出百度網盤下載路徑。
以opencv_ffmpeg_64.dll下載失敗爲例:打開CMakeDownloadLog.txt,將手動下載的pencv_ffmpeg_64.dll複製到下圖兩個 標紅線路徑中(下圖從別人博客中下載,因此與我的路徑對不上),並將第二個路徑下複製過去的opencv_ffmpeg_64.dll名 字改爲下 圖cashe下的名字,前面有一串數字的那個名字。
所有下載失敗的的文件都完成上述操作後,勾選 BUILD_opemcv_world;主要是把所有的lib文件都弄到一個 opencv_world340d.lib中方便配置,若不勾選在最後會產生大概38個.lib文件;勾選 BUILD_EXAMPLES;就是編譯OPencv 自帶的例程,完成後再次單擊“Configure”即可。單擊“Configure”直到Cmake3.10沒有紅色顯示爲止。
選擇OPENCV_EXTRA_MODULES_PATH 把路徑選擇爲解壓的opencv_contrib3.4文件中的“modules”即 D:\software\opencv3.4.1\opencv_contrib-3.4.1\modules 。如下圖:
再次單擊“Configure”,如若出現下載失敗的情況,解決辦法如上文, 再次單擊“Configure”直到Cmake3.10沒有紅色顯示爲止。最後單擊“Generate”完成Cmake編譯的最後工作。
五、vs2015的最後編譯
打來編譯輸出文件D:\software\opencv3.4.1\build找到 Opencv.sln打開工程文件,選擇debug x64點擊解決方案,點擊右鍵,選擇生成解決方案;隨後漫長的等待。那個錯誤是與Python有關不用考慮;選擇 CMakeTargets下的INSTALL右鍵選擇僅用於項目->僅生成INSTALL即可,之後會在D:\software\opencv3.4.1\build 找到一個install文件夾即爲最後編譯生成的Opencv3.4配置需要文件。