2013-02-04 104 views
2

我目前正試圖在Eclipse中實現基本圖像拼接C++(OpenCV)代碼。特徵檢測部分爲SURF特徵顯示了很好的結果。但是,當我試圖將這兩個圖像扭曲在一起時,我只得到一半圖像作爲輸出。我試圖找到一個解決方案,但無濟於事。我甚至試圖抵消單應矩陣,就像在這個答案OpenCV warpperspective中一樣。目前爲止沒有任何幫助。OpenCV WarpPerspective問題

因爲我沒有足夠的聲望點,所以我會在註釋中附加輸出圖像。

爲特徵檢測和單應,我用確切的代碼從這裏 http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

然後,我添加了下面的一段給定的代碼之後的代碼,

Mat result; 
warpPerspective(img_object,result,H, Size(2*img_object.cols,img_object.rows)); 
Mat half(result,Rect(0,0,img_scene.cols,img_scene.rows)); 
img_scene.copyTo(half); 

imshow("Warped Image", result); 

我在很新這只是試圖把碎片放在一起。所以我很抱歉,如果有一些基本的錯誤。

+0

特徵檢測:http://i.stack.imgur.com/7UjVJ.jpg 輸出:HTTP://i.stack.imgur。 com/Fe392.jpg – hriddle

回答

0

我發現了一個相關的問題在這裏Stitching 2 images in opencv和實施給予額外的代碼。有效!

作爲參考,已編輯的代碼我寫的是

Mat result; 
warpPerspective(img_scene, result, H, Size(img_scene.cols*2, img_scene.rows*2), INTER_CUBIC); 
Mat final(Size(img_scene.cols + img_object.cols, img_scene.rows*2),CV_8UC3); 
Mat roi1(final, Rect(0, 0, img_object.cols, img_object.rows)); 
Mat roi2(final, Rect(0, 0, result.cols, result.rows)); 
result.copyTo(roi2); 
img_object.copyTo(roi1); 
+0

您已將您的答案標記爲已接受。它可能會幫助其他人。 – hasanghaforian