cv.findEssentialMat - MATLAB File Help
cv.findEssentialMat

Calculates an essential matrix from the corresponding points in two images

E = cv.findEssentialMat(points1, points2)
[E, mask] = cv.findEssentialMat(...)
[...] = cv.findEssentialMat(..., 'OptionName', optionValue, ...)

Input

Output

Options

This function estimates essential matrix based on the five-point algorithm solver in [Nister03]. [SteweniusCFS] is also a related. The epipolar geometry is described by the following equation:

[p2;1]' * inv(K)' * E * inv(K) * [p1;1] = 0

where E is an essential matrix, p1 and p2 are corresponding points in the first and the second images, respectively. The result of this function may be passed further to cv.decomposeEssentialMat or cv.recoverPose to recover the relative pose between cameras.

K is the camera matrix with focal length fx and fy and principal point [cx,cy]:

K = [fx  0 cx;
     0  fy cy;
     0   0  1]

Example

Estimation of essential matrix using the RANSAC algorithm:

% initialize the points here
points1 = {[1,1],[3,1],[5,1],...}
points2 = {[2,3],[4,3],[6,3],...}
% estimate essential matrix
[E, mask] = cv.findEssentialMat(points1, points2, 'Method','Ransac');

References

[Nister03]:

David Nister. "An efficient solution to the five-point relative pose problem". Pattern Analysis and Machine Intelligence, IEEE Transactions on, 26(6):756-770, 2004.

[SteweniusCFS]:

Henrik Stewenius. "Calibrated fivepoint solver".

See also