這個拼圖並非自帶的直接使用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 個無法解析的外部命令
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
根據度娘教程:
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 個無法解析的外部命令
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
度娘后的結果是要我再改回去。。。
蒙蔽了。。。
這程序本就沒入口啊~~~,需要我們生成一個:
控制台應用程序。
就是理論上,插曲這部分出現之前,程序應該是編譯通過的。
經過一番努力發現就是沒有函數入口,如果發現反復要求變更控制台跟窗口,那么說明函數真的缺少入口。所以現在想到的辦法就是重新提取一下opencv。再做一次嘗試
