2013-07-22 91 views
4

我在OpenCV中進行圖像拼接,在這裏我從不同位置拍攝平面場景並嘗試構圖全景圖。我修改了拼接示例以適合我的需要。 openCV縫合流水線的問題在於,它假定攝像機是純粹的旋轉,而我不是這種情況。當拍攝的照片與場景完全正交(沒有相機旋轉,只是平移)時,結果非常好,但是當兩者都存在時,相機旋轉和平移效果都不令人滿意。OpenCV非旋轉圖像拼接

我能夠計算攝像頭位置之間的單應性,可以完成,因爲場景是平面的,但我不知道下一步是什麼。我的想法是以這種方式使用單應性來使圖像不失真,攝像機正交地面對平面並接下來應用拼接。這個問題是,我不知道特徵點的真實位置。我怎麼能這樣做呢?還有什麼我可以嘗試使任意相機移動的平面場景獲得更好的拼接效果?

回答

0

opencv拼接代碼的工作原理是將翻譯爲零。所以如果翻譯是在一個範圍內,它會正常工作。否則它會拒絕遙遠的圖像。如果你想使用翻譯的圖像集,你需要使用decomposehomgraphymat,它將給予非零的平移和旋轉。但是,對於OpenCV的變形和混合,僅使用相機參數的旋轉。所以你需要爲非旋轉拼接設計一個完整的新方法,也許你看看微軟photosynth工作。我不確定,但它只適用於已翻譯的圖像。