日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习OpenCV研究报告指出系列(二)源代码被编译并配有实例project

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习OpenCV研究报告指出系列(二)源代码被编译并配有实例project 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載并安裝CMake3.0.1

? ? ?

要自己編譯OpenCV2.4.9的源代碼。首先。必須下載編譯工具,使用的比較多的編譯工具是CMake。

以下摘錄一段關于CMake的介紹:

? ? ??

CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描寫敘述全部平臺的安裝(編譯過程)。他可以輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C 特性,類似UNIX下的automake。僅僅是 CMake 的組態檔取名為 CmakeLists.txt。Cmake 并不直接建構出終于的軟件,而是產生標準的建構檔(如 Unix 的 Makefile 或 Windows Visual C 的 projects/workspaces),然后再依一般的建構方式使用。

這使得熟悉某個集成開發環境(IDE)的開發人員能夠用標準的方式建構他的軟件。這樣的能夠使用各平臺的原生建構系統的能力是 CMake 和 SCons 等其它類似系統的差別之處。
CMake 能夠編譯源碼、制作程式庫、產生適配器(wrapper)、還能夠用隨意的順序建構運行檔。CMake 支援 in-place 建構(二進檔和源碼在同一個文件夾樹中)和 out-of-place 建構(二進檔在別的文件夾里),因此能夠非常easy從同一個源碼文件夾樹中建構出多個二進檔。

CMake 也支持靜態與動態程式庫的建構。
“CMake”這個名字是“Cross Platform Make”的縮寫。

盡管名字中含有“make”,可是CMake和Unix上常見的“make”系統是分開的,并且更為高階。



通過以上介紹我們知道,我們能夠用CMake這個工具將源代碼編譯成VS2010的project文件,使得我們能夠在VS下以不同項目組的形式構建多個例子或者教程project。


我們能夠在CMake的官網: ?http://www.cmake.org/cmake/resources/software.html?上找到最新版本號的CMake安裝文件。



選擇文件CMake-3.0.1-win32-x86.exe”下載,一共10.78MB,非常快能夠下完。


下載完畢后,雙擊安裝程序,就可以開始CMake的安裝。


安裝非常easy,基本上就是“下一步”,直至最后一步“完畢”。















安裝完畢后。能夠在“開始”菜單中找到已經安裝好的CMake3.0.1程序的快捷方式"CMake (cmake-gui)"


安裝好了以后。以下開始進行OpenCV源代碼的編譯。

? ? ?

? ? ?

OpenCV2.4.9源代碼編譯


這里如果我們已經將OpenCV2.4.9的源代碼下載而且安裝好了。

(如果這一步不知道怎么做。請參看本人還有一個教程《學習OpenCV的學習筆記系列(一)環境配置》)

在“開始”菜單中點擊“CMake (cmake-gui)”打開CMake程序,此時將彈出編譯設置界面。例如以下圖所看到的


在"Where is the source code"選項的文本框中輸入OpenCV源代碼所在的文件夾路徑,能夠點擊"Browse Source..."選擇文件夾,請依據源代碼安裝的實際位置選擇路徑,此處選擇的是"H:/opencv/sources"。


在"Where to build the binaries"選項的文本框中輸入須要構建例子project及源代碼的文件文件夾路徑,此處選擇的是與源代碼同一文件夾下的"H:/OpenCV/Solution"。

輸入完源代碼路徑及生成路徑之后,點擊編譯設置界面左下角的"Configure"button

假設是第一次配置。那么將會彈出一個選擇生成project目標環境的界面,此處選擇“Visual Studio 10 2010”選項,勾選"Use default native compilers"。然后點擊"Finish"button。


假設生成目標文件夾路徑不存在。那么會有一個提示新建文件夾的對話框,例如以下圖所看到的,直接點"Yes"就可以。


第一次配置會出現非常多紅色的選項,別管它。再點擊一次"Configure"button。


這一次,紅色選項沒有了,說明沒有問題了。配置完畢。


點擊"Generate"button


在看到最下方有"Generating done"字樣后。說明源代碼project編譯完成。

? ? ?

? ? ?

OpenCV2.4.9源代碼project測試

? ? ??

打開上一步設置的生成目錄路徑下的目錄,可見有一個"Solution"目錄,這個是上一步設置中自己主動生成的,雙擊該目錄。


在"H:/opencv/Solution"路徑下。我們能夠看到有一個已經編譯生成好了的VS2010project文件"OpenCV.sln",雙擊該文件。既能夠在VS2010中打開該project文件。



在打開的"OpenCV"project中,我們能夠看到有68個項目。


右鍵點擊OpenCV解決方式,選擇生成解決方式。


編譯用時較長。我的PC配置算是比較好的,可是編譯也一共耗時約2分鐘左右。生成62個project,失敗0個,說明所有編譯通過。

恭喜自己一下!


接下來,就能夠逐個project去查看。編譯了。關于這些例子project及源代碼的解釋,興許將補充。。

? ? ?

? ? ?

OpenCV2.4.9自帶例子源代碼編譯及測試

? ? ?

以上介紹的是OpenCV的源代碼編譯及project,以下介紹怎么編譯OpenCV自帶的例子源代碼及project。

熟門熟路地打開CMake3.0.1,將源代碼路徑改為:"H:/opencv/sources/samples"(詳細路徑隨安裝位置而不同。在opencv的源代碼安裝文件夾下能夠找到“sample”文件夾)。







在一通配置(Configure)及生成(Generate)后(配置項同上。此處不贅述!

),在目標文件夾下。能夠找到已經生成好了的OpenCV的例子project文件:“samples.sln


點擊打開"samples.sln",看到解決方式資源管理器中顯示一共同擁有172個項目(例子真多,好好看哈!


右鍵點擊解決方式,選擇“生成解決方式


大概一分鐘左右(不同機器配置,編譯時間有區別)。編譯完畢,project生成171個project,失敗0個,一次編譯通過。點個贊。


總體編譯無誤后,隨手打開一個例子project,本文選擇“(EXAMPLE) lkdemo”project。此project源代碼使用改進的Lucas-Kanade光流算法,用于檢測視頻運動目標。用鼠標點擊目標點,可視頻跟蹤。


點擊執行。發現一個命令行界面一閃而過。之后就退出了,這是為什么呢?

通過單步執行調試發現,在“lkdemo.cpp”文件的56行的"if( !cap.isOpened() );"推斷語句中,播放器沒有打開,直接在控制臺顯示一行“Could not initialize capturing...”就退出了。

分析其原因。是由于“cap.open("Megamind.avi");”這個語句中的視頻文件“Megamind.avi”不在程序文件夾下。知道原因。就好攻克了。

在“H:\opencv\sources\samples\cpp”文件夾下(源代碼文件文件夾)拷貝“Megamind.avi”文件至“H:\opencv\sampleSolution\cpp\Debug”文件夾下(此乃程序“cpp-example-lkdemo.exe”所在文件夾)。

換句話說,就是要確保在程序執行的文件夾下有Megamind.avi文件就可以。




在做完以上工作后。再次點擊執行,就成功執行了,播放的是一個動畫片,在畫面的一處點擊左鍵后,會有一個綠色的標記點,該標記點的位置會隨著周圍物體的運動而改變,這應該就是所謂的視頻跟蹤了。

截圖例如以下:



OK,這當中的原理及工作流程我就不介紹了,自己看源代碼,其它例子project的源代碼能夠一個個去看,然后編譯執行。相信將這些例子都熟悉理解摸透后,OpenCV對你將不再陌生。歡迎你步入OpenCV的殿堂。開始你的學習階段吧!



轉載于:https://www.cnblogs.com/gcczhongduan/p/5040898.html

總結

以上是生活随笔為你收集整理的学习OpenCV研究报告指出系列(二)源代码被编译并配有实例project的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。