vs+cmake+opencv(查看opencv的源碼)

具體的操作步驟可以參照這個鏈接
http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html

當時遇到的第一個問題:無論怎樣都沒有辦法,在編譯opencv的時候總是出來錯誤,都是什麼找不到命令之類的!當時也看不懂cmake的語法。然後在搜索引擎上瘋狂查找資料,再仔細研究了一下,在cmake-gui中,如下圖:
這裏寫圖片描述

其中where is the source code:這裏是選opencv根目錄下的那個sources文件夾,我的是f://opencv24.7/opencv/sources(這個目錄下有個cmakelist.txt文件)
而where to build the binaries:這個目錄是要選擇重新編譯好的opencv庫放在什麼地方。當時年幼無知,竟然把這個地方放在跟opencv源碼同一個目錄下,於是出來了各種各樣的錯誤!!!這裏只需要選擇一個獨立於opencv的根目錄即可!

第二個問題:搞清楚重新編譯opencv源碼的作用
重編譯的好處:可以調試的時候看OpenCV的源代碼(這個步驟我實現不了)。
重編譯要得到的東西:Debug版本和Release版本的dll,lib,頭文件。(dll添加到環境變量裏,運行時用,自己編譯的dll調試時可以跟蹤到Opencv的源碼內;lib和頭文件配置到編譯器裏)
PS:如果只是使用Opencv而不需要跟蹤源碼,則使用Opencv自帶的庫文件即可。跳到5配置Opencv開發環境,對應的文件都在..\opencv\build\目錄下,其中dll(bin目錄),lib目錄在平臺文件夾下如..\opencv\build\ x86\vc10。
下圖是對重新編譯好的opencv在vs2010下的顯示
這裏寫圖片描述
當然我們查看源碼也可以用最簡單的方式,如下
http://jingyan.baidu.com/article/7082dc1c4b6f0de40b89bd71.html
但是這種方式不如上述那種方式好,因爲上述的方式可以比較好展示出整個opencv代碼結構,並且可以有助於我們去理解整個opencv的代碼的關係!

第三個問題:
原來在ubuntu下用kdevelop開發能直接能跳轉到opencv的源碼,所以我放棄了對上述斜體字那個問題的解決!!!

第四個問題:對dll和lib的理解(這個講得比較好)
https://zhidao.baidu.com/question/73129648.html

第五個問題:
cmake重新編譯opencv可以讓我們使用經我們自己修改過的opencv源碼!!!(學了好幾個cv才發現這個好東西!!!)

思路有點亂,把這幾個鏈接認真看看,關於vs+cmake+opencv(查看opencv的源碼)這個問題就可以基本解決
http://blog.csdn.net/ncut_matlab/article/details/50972084(爲什麼要使用CMake+VS編譯OpenCV的源碼 )
http://blog.csdn.net/gubenpeiyuan/article/details/50866908(opencv+cmake+vs2010開發環境搭建筆記 )
http://blog.csdn.net/jaych/article/details/51030088(如何配置修改並調試opencv源代碼)
http://blog.csdn.net/poem_qianmo/article/details/21974023(這個鏈接告訴我重新編譯好的庫在vs中是沒法運行的!!!不要笑,我原本以爲真的可以運行!!)
http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html(這個美女寫得不錯,讓他上榜,呵呵呵)

總結:弄清楚事情本質,再去做!!!

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