CvInvokeStereoRectifyUncalibrated Method |
http://www.emgu.com
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.CVAssembly: Emgu.CV.World (in Emgu.CV.World.dll) Version: 3.2.0.2682 (3.2.0.2682)
Syntax public static bool StereoRectifyUncalibrated(
IInputArray points1,
IInputArray points2,
IInputArray f,
Size imgSize,
IOutputArray h1,
IOutputArray h2,
double threshold = 5
)
Public Shared Function StereoRectifyUncalibrated (
points1 As IInputArray,
points2 As IInputArray,
f As IInputArray,
imgSize As Size,
h1 As IOutputArray,
h2 As IOutputArray,
Optional threshold As Double = 5
) As Boolean
public:
static bool StereoRectifyUncalibrated(
IInputArray^ points1,
IInputArray^ points2,
IInputArray^ f,
Size imgSize,
IOutputArray^ h1,
IOutputArray^ h2,
double threshold = 5
)
static member StereoRectifyUncalibrated :
points1 : IInputArray *
points2 : IInputArray *
f : IInputArray *
imgSize : Size *
h1 : IOutputArray *
h2 : IOutputArray *
?threshold : float
(* Defaults:
let _threshold = defaultArg threshold 5
*)
-> bool
Parameters
- points1
- Type: Emgu.CVIInputArray
The array of 2D points - points2
- Type: Emgu.CVIInputArray
The array of 2D points - f
- Type: Emgu.CVIInputArray
Fundamental matrix. It can be computed using the same set of point pairs points1 and points2 using cvFindFundamentalMat - imgSize
- Type: System.DrawingSize
Size of the image - h1
- Type: Emgu.CVIOutputArray
The rectification homography matrices for the first images - h2
- 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)"]
Remarks
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