opencv中stitching_detail的運行


這個拼圖並非自帶的直接使用sources中的代碼。而是把必要的內容放到工程中,改造成自己的圖像拼接。參考博文:http://www.tuicool.com/articles/fMbUfaF

該篇博文總體上來講,很好的指導了思路,但是在嘗試的過程中屢次碰壁。所以現在就來把整個搭建過程再來復述一遍。

希望有那么一點幫助。

 

//前提先把opencv跑通,也就是上一篇隨筆的內容。上一篇從體來講還可以寫的,主要是因為原博文非常詳盡,所以我在寫的時候就把我這里需要怎么跑,比較清楚的寫了一下。

 

這篇真的是跑得我腦袋冒泡卻也沒跑成功,所以發個博來記述一下。

 

首先創建工程:

原文中的描述可以自己看一下。還是很好的

 

“新建工程,將H:\opencv\sources\modules\stitching的文件夾中的include和src復制到工程文件夾中,將sample\cpp中的stitching_detailed.cpp也復制到工程文件夾中。”

—— http://www.tuicool.com/articles/fMbUfaF

 

注意下這段話的描述:反復看了很久。我還復制粘貼過,簡直醉了,可能是還是不熟悉vs的環境。這個句話的正確步驟是:

1、先去opencv目錄下面。

 

1選中include src目錄。

2)Ctrl+C完成復制。

3)到vs環境中

點到這個工程目錄里面。左鍵單擊一下這個tryMosic這個工程

然后Ctrl+V

然后她會自動幫我們把頭文件和cpp文件分開放好。

 

2、基本環境的問題。這也就是我們需要用到上一篇文章——配置的原因。

看看問題在哪里:

隨便單擊一個剛剛復制進來的.hpp 或者.cpp文件。

就發現報了好多紅。同eclipse里面一樣一片一片的爆紅就是沒有導包嘛~,這里面我們是沒有導入必要的類庫。

 

解決:

項目->屬性->VC++目錄->包含目錄->

依然是新建。

補上三個

包含目錄 下移兩行 到庫目錄中進行修改

 

鏈接器輸入部分:

 

opencv_ml249d.lib

opencv_calib3d249d.lib

opencv_contrib249d.lib 

opencv_core249d.lib 

opencv_features2d249d.lib 

opencv_flann249d.lib 

opencv_gpu249d.lib 

opencv_highgui249d.lib 

opencv_imgproc249d.lib 

opencv_legacy249d.lib 

opencv_objdetect249d.lib 

opencv_ts249d.lib 

opencv_video249d.lib 

opencv_nonfree249d.lib 

opencv_ocl249d.lib 

opencv_photo249d.lib 

opencv_stitching249d.lib 

opencv_superres249d.lib 

opencv_videostab249d.lib 

opencv_objdetect249.lib 

opencv_ts249.lib 

opencv_video249.lib 

opencv_nonfree249.lib 

opencv_ocl249.lib 

opencv_photo249.lib 

opencv_stitching249.lib 

opencv_superres249.lib 

opencv_videostab249.lib 

opencv_calib3d249.lib 

opencv_contrib249.lib 

opencv_core249.lib 

opencv_features2d249.lib 

opencv_flann249.lib 

opencv_gpu249.lib 

opencv_highgui249.lib 

opencv_imgproc249.lib 

opencv_legacy249.lib 

opencv_ml249.lib

 

 

 

復制這一堆。 

然后運行。 

找不到: 

gcgraph.hpp

 

 

 

就是缺少目錄的事情。 

這樣我們只要找到路徑就可以了。這個路徑確實比較難找,有需要的話我可以幫助找一下。但是其實也並不難,最重要的是相信自己可以解決這很重要。

 

現加上我們看看能不能跑通。<插曲>之所以加上這個目錄是因為:

precomp.hpp 里面include的目錄除了<> 系統目錄,都是當前路徑下的文件,而他們都在包含目錄里面進行的添加,所以如法炮制,加上了opencv里面的這個頭文件。然后把程序找到這個目錄。

 

運行

這個就是怎么也跑不出來了.

所以拿上一版試出來的,來展示這個成果:

那個時候的名字還叫做testmosic

生成這樣一個文件:

 

 

 

 

插曲:

出現問題

 

1>------ 已啟動生成:  項目: trymosic, 配置: Debug Win32 ------

1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 無法解析的外部符號 _main,該符號在函數 ___tmainCRTStartup 中被引用

1>F:\code4vs\trymosic\Debug\trymosic.exe : fatal error LNK1120: 1 個無法解析的外部命令

========== 生成:  成功 個,失敗 個,最新 個,跳過 個 ==========

 

根據度娘教程:

http://jingyan.baidu.com/article/d621e8da0d7c022864913f40.html

 

改成:

 

導致問題生了小問題:

1>------ 已啟動生成:  項目: trymosic, 配置: Debug Win32 ------

1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 無法解析的外部符號 _WinMain@16,該符號在函數 ___tmainCRTStartup 中被引用

1>F:\code4vs\trymosic\Debug\trymosic.exe : fatal error LNK1120: 1 個無法解析的外部命令

========== 生成:  成功 個,失敗 個,最新 個,跳過 個 ==========

 

度娘后的結果是要我再改回去。。。

蒙蔽了。。。

 

這程序本就沒入口啊~~~,需要我們生成一個:

控制台應用程序。

 

就是理論上,插曲這部分出現之前,程序應該是編譯通過的。

 

 


經過一番努力發現就是沒有函數入口,如果發現反復要求變更控制台跟窗口,那么說明函數真的缺少入口。所以現在想到的辦法就是重新提取一下opencv。再做一次嘗試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM