opencv學習之路【三】——opencv運行別人程序

前言

如果你還沒有搭建環境請看我前一篇《輝哥opencv學習之路【2】--環境搭建》  走好不送!
不管學習什麼,如果能先運行起一個例子或別人的程序,心中一定會更受鼓舞,更何況我們可以從別人的代碼中學到很多東西,
雖然運行別人的例子不是什麼難事,但是對於剛接觸opencv和vs的人來說確實比較困難,像我以前都是一直在elicpse下寫java,
但是現在要用vs寫c++突然有些不適應。

我也看網上有很多人下載了一個別人的程序但是卻運行不起來,因爲openc的版本比較混雜 但是這裏我可以告訴大家opencv是向下兼容的
也就是2.4.5理論是可以運行所有版本的opencv寫的程序的  我爲了能運行別人的例子也走了很多彎路琢磨了幾天才搞定,希望能幫助你儘快走進opencv的殿堂!

準備條件

我當時爲了運行例子 我將opencv1.0到2.4.5的安裝包都下載下來了 然後全部安裝,當然你完全不用這麼做,
但是我推薦如果你想跟確定,而且條件可以的話你可以下載並安裝 opencv1.0 opencv 2.0 和 opencv 2.4.5
因爲根據我實踐的經歷 這三個版本的目錄結構 能代表所有版本
ps:這是我曾安裝過的opencv的版本

第一步

這裏我用我寫的一個圖片顯示的例子作爲教程,其他的程序也一樣 只要是vs下的基本配置都是這樣
例子下載地址爲:附件1

下載例子 然後解壓至任意目錄:這是我們可以看到例子中包含有vs的工程文件 這裏需要注意一下 據我的實踐經驗,一般別人程序工程文件分爲2種,一種是vs編寫的 
一種是在cv++6.0 下的 vs的工程中都會有一個 sln 文件 用vs打開即可 注意我這個是vs2012的工程 如果你沒有vs2012 應該也沒關係 因爲這裏的版本並不是很重要
你完全可以繼續往後學習方法,基本一樣! 還有一種是vc++6.0的工程 這種工程不能用vs打開 你需要安裝cv++6.0環境打開 當然配置也和vs大同小異 如果你遇到問題
請留言和給我郵件,我會考慮是否需要補充cv++6.0的配置教程!


用你的vs打開這個工程 這是他會提示你 自動把這個工程升級到和你vs版本對應的版本。
當然如果你vs版本和工程一樣 那就不用 或者你vs版本低於工程版本 這種情況我沒有遇到過 因爲我的vs2012已經是最新的 他是像下兼容vs其他版本工程文件的
這裏直接點確定讓它升級就好



然後vs就開起了這個工程 但是會發現有很多錯誤 這就是還沒有配置環境的問題, 這裏要提一下 opencv的每個工程都是獨立配置的 
所以儘管你已經搭建好了opencv的環境 但是新建一個工程 還需要重新配置一下!


然後我們其實可以通過一個地方看這個代碼使用opencv什麼版本編寫的 右鍵-〉屬性-〉鏈接器-〉輸入
然後我們可以看見 opencv_calib3d245d.lib 這樣的lib文件  這裏 245 就是opencv的版本號 d是指現在是Debug模式下的lib庫
好現在我們知道了 這個工程是用的那個opencv版本了 (然後我們去安裝對應版本,,!! 呵呵開玩笑的 我說了2.4.5兼容其他版本 但是我們需要改點東西)

 

記住你打開的別人的工程 它可能是這樣寫的 比如: 
highgui.lib   這是1.0的opencv
highgui120.lib   這是1.2的opencv
highgui200.lib   這是2.0的opencv
注意貌似只有2.3以後的纔會寫成 opencv_calib3d230.lib 這種形式, 自己對比一下 應該能看懂吧
這些.lib文件都在 lib文件裏 你根據它工程裏這個地方的lib文件名字 一定能在2.4.5 的lib文件下找到差不多的名字那個.lib文件 
嗯 也就是 你把他的lib文件名字 換成你lib文件下對應的名字
比如 你打開工程 這裏寫了一個 highgui.lib  然後你需要改成 opencv_highgui245.lib


好 然後保存 然後點擊右邊c++目錄 這個裏面的東西和昨天環境的搭建就一樣了  這裏給出我的配置作爲參考 如果你完成了上一篇的環境搭建
並且成功運行 那麼這裏你把你配置的那個工程相應位置的東西,複製 粘貼到 這個工程相應位置即可

環境變量裏添加:F:\opcv\opencv2.4.5\bin\Debug;F:\opcv\opencv2.4.5\bin\Release

可執行目錄:

右邊 可執行目錄文件 添加 你上面那個bin目錄位置/Release  和 bin目錄位置/Debug

包含目錄

你opencv文件夾下的include 和 include/opencv 和 include/opencv2 

然後還有modules文件下 所有文件裏的 include目錄  有很多是吧 沒事慢慢加吧!


庫目錄:F:\opcv\opencv2.4.5\lib\Debug;$(LibraryPath)
opencv_calib3d245d.lib
opencv_contrib245d.lib
opencv_core245d.lib
opencv_features2d245d.lib
opencv_flann245d.lib
opencv_gpu245d.lib
opencv_highgui245d.lib
opencv_imgproc245d.lib
opencv_legacy245d.lib
opencv_ml245d.lib
opencv_nonfree245d.lib
opencv_objdetect245d.lib
opencv_photo245d.lib
opencv_stitching245d.lib
opencv_ts245d.lib
opencv_video245d.lib
opencv_videostab245d.lib


對了最後如果前面搭建環境時沒有沒有 把bin加入到環境變量 這裏需要加一下 加過了就不用了額! 
然後點擊生成 然後運行就行了!運行結果如下



到這裏 應該就能夠運行別人的程序了 
由於寫作比較倉促 有錯別字和錯誤的地方請見諒!
如果有問題請留言或[email protected] 




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