【发布时间】:2023-03-06 15:39:01
【问题描述】:
我修改了一个算法来进行 rectif。它返回我 2 个 Opencv 单应性(3x3 矩阵)。我可以使用 cv::warpPerspective 并获得校正图像。所以算法工作正常。但我需要将此单应性应用于 OpenGL 中的纹理。所以我创建了一个 4x4 矩阵(HomoGl)并使用
glMultMatrixf(HomoGl);
应用此转换。为了填充 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
【问题讨论】:
标签: c++ opencv opengl homography