я использую две матрицы проекции P1 и P2 (например, я использую dinosaur dataset) и мне нужно вычислить фундаментальную матрицу F. Таким образом, я использую две функции Matlab:Различные фундаментальная матрица из одних и тех же матриц проекции
-
функция
- Питера Kovesi в: www.csse.uwa.edu.au/~pk/Research/MatlabFns/Projective/fundfromcameras.m
- Зиссерман: www.robots.ox.ac.uk/~vgg/hzbook/code/ vgg_multiview/vgg_F_from_P.m
Эти функции должны выполнять sam e вещь, но У меня другое значение F! Как это возможно? Каковы правильные функции?
Если две точки X1 и X2 являются «одинаковыми» в двух разных изображениях, X2^T * F * X1 = 0 ... Итак, я нашел две соответствующие точки из двух повернутых изображений (5 градусов) с использованием SURF , но X2^T * F * X1 никогда не будет равным нулю при этих двух функциях. Любые идеи?
Вместо если я использую эту функцию, которая вычисляет F из матчей пунктов:
- RANSAC соответствует фундаментальной матрице Питера Kovesi: ransacfitfundmatrix.m
У меня есть, что X2^T * F * X1 = 0 .... Очевидно, что F отличается от двух FI с двумя другими функциями ...
Я уверен, что функция Петра Ковеши правильная, она функционирует правильно! –