Contents

isEpipoleInImage

Determine whether image contains epipole

Syntax

  • isIn = isEpipoleInImage(F,imageSize)
  • isIn = isEpipoleInImage(F',imageSize)
  • [isIn,epipole] = isEpipoleInImage(___)

Description

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.

isIn = isEpipoleInImage(F',imageSize) determines whether the second stereo image associated with the fundamental matrix F' contains an epipole.

[isIn,epipole] = isEpipoleInImage(___) also returns the epipole.

Code Generation Support:
Compile-time constant input: No restrictions
Supports MATLAB Function block: Yes
Code Generation Support, Usage Notes, and Limitations

Input Arguments

F

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:

[P2,1] * F * [P1,1]' = 0

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.

imageSize

The size of the image, and in the format returned by the function size.

Output Arguments

isIn

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).

epipole

A 1-by-2 vector indicating the location of the epipole.

Examples

expand all

Determine Epipole Location in an Image

% 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

Determine Whether Image Contains Epipole

    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

Was this topic helpful?