问题
I would like to verify that my understanding of the fundamental matrix is correct and if it's possible to compute F without using any corresponding point pairs.
The fundamental matrix is calculated as F = inv(transpose(Mr))*R*S*inv(Ml)
where Mr and Ml are the right and left intrinsic camera matrices, R is the rotation matrix that brings the right coordinate system to the left one, and S is the skew symmetric matrix
S = 0 -T[3] T[2] where T is the translation vector of the right coordinate system
T[3] 0 -T[1] from the left.
-T[2] T[1] 0
I understand that the fundamental matrix can be computed with the 8-point algorithm, but I do not have any point correspondences. However, both of my cameras are calibrated, so I have all intrinsic and extrinsic parameters. From the definition of the fundamental matrix above, it is possible to compute F with these parameters alone, right?
(The problem I experience is that the fundamental matrix seems wrong when calculated from its definition. At the moment, I would just like to know if my understanding above is correct.)
回答1:
If you have the rotation and translation of each of the cameras relative to a common coordinate system, then you can compute the rotation and translation between the cameras, and then use the formula you have cited to compute the fundamental matrix.
A better way to go would be to calibrate both cameras together as a single stereo system. The latest release (2014a) of the Computer Vision System Toolbox lets you do that. See this example.
回答2:
I would prefer to do it like the equations in Chapter 9 of "Multiple View Geometry". I have verified these in Matlab. It is right.
If you can get both intrinsic and extrinsic matrix of both cameras, you can calculate the F matrix like:
F = [e']_x * P' *p^+
(Please refer to pp244 of "Multiple View Geometry" for detailed definitions)
来源:https://stackoverflow.com/questions/24783915/compute-fundamental-matrix-without-point-correspondences