使用Cmake完成visual studio 2015的Opencv3.2及Dlib19.7的部屬配置_part1

於上篇文章
我們有介紹到Cmake的一些基本使用


隨著時代演進   opencv之前在學校期間還是在學習使用2411版、3.0版

如今  3.3多新版本都問世了呢~~~


近日幫忙處理一些學弟妹的SOS

感覺真是懷念~~~

只在學校才會用到的東西 工作上幾乎不太會用到呢~~~~





Tools 列表
====================================================================
本次學習使用:
(1) Visual studio 2015
(2)Cmake  (opem source)
(3)Opencv3.2  (opem source)
https://opencv.org/releases.html
(4)Dlib19.7  (opem source)
====================================================================
第一階段.完善opencv的下載與安裝
Step1.下載  opencv套件(package)
Step2. 下載額外的模組(module)
Step3.使用 Cmake Configure整包完整的套件

這邊注意一點
opencv電腦視覺庫
自3.多之後問世的版本
都把  opencv拆分成兩個主要部分
part1. Source: 主要涵蓋已經發展十分成熟的視覺演算 (只含Core function)
part2.Contribution :則是近期剛發展較新的演算
part1下載主要就是從官方網站sourceforge 的 link
直接Download下來那一整包(只涵蓋Core部分喔!!!!)
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.2.0/opencv-3.2.0-vc14.exe/download

part2.則是到這邊的GitHub連結下載自己Add
https://github.com/opencv/opencv_contrib

這裡可以下載下來在解壓縮(比較慢但簡單直接的做法)

或是一樣用git相關方法就直接copy  URL  git clone到所在本機端喔!!!(可省下解壓縮步驟)


這裡我將下載下來的 contribution這包打開後
把module名稱更改成  contrib


當中包含的近期新的視覺演算就放置於此目錄下

複製到本機端已經下載好的第一部分(part1.)較成熟的演算模組
source路徑下方
之所以要更名為  contrib 就是怕會有檔名重複而造成衝突覆蓋狀況


====================================================================

第二階段.用Cmake進行打包編譯(Build 成 Binary)

我們再此需要For Compile用途 的 Makefile / Solution Files

開啟你的Cmake GUI

輸入  sources 路徑
及   build 路徑


記得額外去找尋  OPENCV_EXTRA_MODULES_PATH
添加  C:\opencv3.2.0\sources\contrib (這裡請不要直接輸入要按下右側旁邊的小方框按鈕)



這裡在編譯時一直遇到錯誤
= =||| ~~~~~~~~


====================================================================
這裡重新參照另一篇部落格教學配置法
先準備找到好  兩個Github連結

第一點  .請一定要對應的3.2版本
https://github.com/opencv/opencv/tree/3.2.0
https://github.com/opencv/opencv_contrib/tree/3.2.0

第二點.  請記得不要忘記設定環境變數

第三點. 不管是你的 CMake 工具  還是專案存放目錄路徑位置
都千萬不要出現任何中文字  拜託!!!!!!!(這是會一直出錯的關鍵)






最後調適完畢
你的  Cmake 在按下 configure(照理你會按下兩次)
照理說  應該可以正常運行顯示該畫面


之後到  兩次  configure 都點按完後
才按  Generate 按鈕  去生出  sln檔案 以助於我們後續去進行  Build (Binary)

等它跑完
在 Open Project  預設就會使用鋼材我們選的  visual studio 2015 enterprice x64 Debug模式
開啟呈現  ---->  選擇最右側的  INSTALL 去 建置


那這邊得出的最終結論就是


他還是依然會出現這個錯誤


Severity Code Description Project File Line Suppression State
Error MSB6006 "cmd.exe" exited with code 1. opencv_python2 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 171 


歷經一路跌跌撞撞
後來參考了幾篇Blog
http://blog.csdn.net/tanningzhong/article/details/53613248
http://blog.csdn.net/thefieryice/article/details/18548269



====================================================================















====================================================================
過程中會遇到的問題:
參考部落格網址:
環境變數超過2048字元該怎麼辦

https://blog.miniasp.com/post/2015/09/07/Maximum-length-of-PATH-environment-variable.aspx

http://blog.csdn.net/godenlove007/article/details/8257132

https://social.technet.microsoft.com/Forums/zh-TW/2e0b3dc0-bc61-40f4-be41-ff4e7ed2990f/2048?forum=windows7cht


Tutorial of face landmark on Visual Studio 2017 with dlib
https://www.youtube.com/watch?v=HjSdPi3WFyA







Dlib 好用的的Machine learning工具

https://chtseng.wordpress.com/2016/12/31/dlib-好用的的machine-learning工具-二/


OpenCV 3.2.0 的擴充 Contrib 函式庫如何編譯 與 
使用 (Visual Studio)

https://charlottehong.blogspot.tw/2017/07/opencv-320-contrib-visual-studio.html




http://blog.csdn.net/yiyuehuan/article/details/70667318

http://blog.csdn.net/qq_15807167/article/details/68944673

http://blog.csdn.net/qq_15807167/article/details/68942724

http://blog.csdn.net/xlcaoyi/article/details/51335383

http://blog.csdn.net/iboxty/article/details/44780341

http://blog.topspeedsnail.com/archives/6935

相關錯誤

http://answers.opencv.org/question/13490/cmake-opencv245-git-repository-24-branch-windows-7-x64-building-steps-and-problems-solved-zip-with-dlls-available/

https://chaoyang0717.wordpress.com/tag/tortoisegit/


error MSB6006: cmd.exe exited with code 1.

http://blog.csdn.net/lovelyloulou/article/details/7297948
http://blog.csdn.net/changbin91/article/details/42874377
http://blog.csdn.net/longji/article/details/53522530
https://social.msdn.microsoft.com/Forums/vstudio/en-US/a029fd8a-5074-407a-8ab2-18d84bcb78f8/cprogram-files-x86msbuildmicrosoftcppv40microsoftcppcommontargets1515-error-msb6006?forum=msbuild
https://www.bci2000.org/bbs/viewtopic.php?t=3437

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header