我修改了一個算法來糾正。它返回2個Opencv單應性(3x3矩陣)。我可以使用cv :: warpPerspective並獲得更正的圖像。所以這個算法是正確的。但是我需要將這些單應用應用於OpenGl中的紋理。所以我創建了一個4x4矩陣(HomoGl),我使用Homographie Opencv適用於Opengl
glMultMatrixf(HomoGl);
來應用這個Tranform。要填補我使用的HomoGl
for(int i=0;i<3;++i){
for(int j=0; j<3;++j){
HomoGL[i+j*4] = HomoCV.at<double>(i,j);
}
}
此方法有最好的結果......但它是錯誤的。我測試了其他一些方法[1],但它們不起作用。
我的問題:我該如何轉換OpenCV的Homography,所以我可以使用glMultMatrixf來獲得正確的變形圖像 。
[1] http://www.aiqus.com/questions/24699/from-2d-homography-of-2-planes-to-3d-rotation-of-opengl-camera
謝謝你。顯而易見的想法很好用;)。 – ilt 2014-09-20 13:26:22
@ilt哈哈!真棒。不要忘了點擊複選框(在updown箭頭下),如果它是你正在尋找的東西:) – Jay 2014-09-22 17:51:53