Determine whether image contains epipole
isIn = isEpipoleInImage(F,imageSize) determines whether the first stereo image associated with the fundamental matrix F contains an epipole. imageSize is the size of the first image, and is in the format returned by the function size.
Code Generation Support:
Compile-time constant input: No restrictions
Supports MATLAB Function block: Yes
Code Generation Support, Usage Notes, and Limitations
A 3-by-3 fundamental matrix computed from stereo images. F must be double or single. If P1 represents a point in the first image I1 that corresponds to P2, a point in the second image I2, then:
In computer vision, the fundamental matrix is a 3-by-3 matrix which relates corresponding points in stereo images. When two cameras view a 3-D scene from two distinct positions, there are a number of geometric relations between the 3-D points and their projections onto the 2-D images that lead to constraints between the image points. Two images of the same scene are related by epipolar geometry.
The size of the image, and in the format returned by the function size.
Logical value set to true when the image contains an epipole, and set to false when the image does not contain an epipole.
When the image planes are at a great enough angle to each other, you can expect the epipole to be located in the image.
When the image planes are at a more subtle angle to each other, you can expect the epipole to be located outside of the image, (but still in the image plane).
A 1-by-2 vector indicating the location of the epipole.
% Load stereo point pairs. load stereoPointPairs f = estimateFundamentalMatrix(matchedPoints1, matchedPoints2, 'NumTrials', 2000); imageSize = [200 300]; % Determine whether the image contains epipole and epipole location. [isIn,epipole] = isEpipoleInImage(f,imageSize)
isIn = 1 epipole = 256.2989 99.8517
f = [0 0 1; 0 0 0; -1 0 0]; imageSize = [200, 300]; [isIn,epipole] = isEpipoleInImage(f',imageSize)
isIn = 0 epipole = 1.0e+308 * 0 1.7977