Click or drag to resize
CvInvokeStereoRectifyUncalibrated Method
computes the rectification transformations without knowing intrinsic parameters of the cameras and their relative position in space, hence the suffix "Uncalibrated". Another related difference from cvStereoRectify is that the function outputs not the rectification transformations in the object (3D) space, but the planar perspective transformations, encoded by the homography matrices H1 and H2. The function implements the following algorithm [Hartley99].

Namespace: Emgu.CV
Assembly: Emgu.CV.World (in Emgu.CV.World.dll) Version: (
public static bool StereoRectifyUncalibrated(
	IInputArray points1,
	IInputArray points2,
	IInputArray f,
	Size imgSize,
	IOutputArray h1,
	IOutputArray h2,
	double threshold = 5


Type: Emgu.CVIInputArray
The array of 2D points
Type: Emgu.CVIInputArray
The array of 2D points
Type: Emgu.CVIInputArray
Fundamental matrix. It can be computed using the same set of point pairs points1 and points2 using cvFindFundamentalMat
Type: System.DrawingSize
Size of the image
Type: Emgu.CVIOutputArray
The rectification homography matrices for the first images
Type: Emgu.CVIOutputArray
The rectification homography matrices for the second images
threshold (Optional)
Type: SystemDouble
If the parameter is greater than zero, then all the point pairs that do not comply the epipolar geometry well enough (that is, the points for which fabs(points2[i]T*F*points1[i])>threshold) are rejected prior to computing the homographies

Return Value

Type: Boolean

[Missing <returns> documentation for "M:Emgu.CV.CvInvoke.StereoRectifyUncalibrated(Emgu.CV.IInputArray,Emgu.CV.IInputArray,Emgu.CV.IInputArray,System.Drawing.Size,Emgu.CV.IOutputArray,Emgu.CV.IOutputArray,System.Double)"]

Note that while the algorithm does not need to know the intrinsic parameters of the cameras, it heavily depends on the epipolar geometry. Therefore, if the camera lenses have significant distortion, it would better be corrected before computing the fundamental matrix and calling this function. For example, distortion coefficients can be estimated for each head of stereo camera separately by using cvCalibrateCamera2 and then the images can be corrected using cvUndistort2
See Also