2012-04-01 81 views
0

我試圖將兩個圖像拼接在一起,但只有第一個可以在最終圖像中看到蜜蜂。 這裏是我的代碼:opencv:將圖像拼接在一起

Mat result(1000, 1000, CV_8UC3); 
Mat firstPart = result(Rect(0, 0, image1.cols, image1.rows)); 
Mat secondPart = result(Rect(deltaX, deltaY, image2.cols+deltaX, image2.rows+deltaY)); 
image1.copyTo(firstPart); 
image2.copyTo(secondPart); 
imshow("result", result); 

圖像2只可見的結果,如果DELTAX和移動deltaY是零,我想不通爲什麼(圖像2 + DELTAX < 1000,同爲移動deltaY)。

+0

你檢查過image2是否複製到image1上嗎?如果是這種情況,你必須複製image2與偏移結果 – blejzz 2012-04-01 17:24:51

+0

是的,我評論image1了。將deltaX和deltaY設置爲0時,image2顯示在左上角,其中一個不等於零,但未顯示。 – user765269 2012-04-01 17:33:28

+0

嘗試對image2進行註釋並查看結果中是否存在image1並回傳。 – blejzz 2012-04-01 17:36:01

回答

0

來自android我假設Rect的參數是左,上,右,下,但它們是左邊,頂部與寬度和高度配對。因此,它必須是

Rect(deltaX, deltaY, image2.cols, image2.rows) 

,而不是

Rect(deltaX, deltaY, image2.cols+deltaX, image2.rows+deltaY)