2013-05-29 29 views
0

我是Open Cv的新手,我想轉換這兩個圖像,這裏是我的圖像,左側圖像和右側圖像。 enter image description here如何在OpenCv中將2個通道的圖像或chnage顯示爲3個或一個通道

enter image description here

這裏是我的代碼

cv::Mat transformMat = cv::estimateRigidTransform(leftImageMat, rightImageMat, true); 
transform(leftImageMat, reconMat, transformMat); 

但問題是,reconMat是2通道。所以如何在openCv中顯示它,或者如上圖和右圖所示,將其轉換爲1通道圖像。

回答

1

你對cv::transform()做什麼有一個基本的誤解。 documentation 指出:

執行每個數組元素的矩陣轉換。

這意味着每個元素的數值由指定的矩陣轉換。

它看起來像你想要的幾何變換。這可以使用cv::warpAffine()來實現:

cv::Mat transformMat = cv::estimateRigidTransform(leftImageMat, rightImageMat, true); 
cv::Mat output; 
cv::Size dsize = leftImageMat.size(); //This specifies the output image size--change as needed 
cv::warpAffine(leftImageMat, output, transformMat, dsize); 
+0

謝謝奧勒留:) – Mudasar

+0

你好奧勒留,你知道如何將我從使用任何功能旋轉圖像相對於中心,如果在一些圖像旋轉爲我們計算從估計剛性變換。 – Mudasar

相關問題