Я модифицировал алгоритм для rectif. Он возвращает мне 2 гомографии Opencv (матрицы 3x3). Я могу использовать cv :: warpPerspective и получать исправленные изображения. Таким образом, алгоритм работает правильно. Но мне нужно применить эту гомологию к текстурам в OpenGl. Поэтому я создаю матрицу 4x4 (HomoGl), и я используюГомография 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, поэтому я могу использовать glMultMatrixf для правильного преобразования изображений.
[1] http://www.aiqus.com/questions/24699/from-2d-homography-of-2-planes-to-3d-rotation-of-opengl-camera
Спасибо. Очевидная идея работает хорошо;). – ilt
@ilt Ха-ха! здорово. Не забудьте установить флажок (под стрелкой вверх), если это то, что вы искали :) – Jay