﻿StereoCalibrate Method (objectPoints, imagePoints1, imagePoints2, intrinsicParam1, intrinsicParam2, imageSize, flags, termCrit, extrinsicParams, foundamentalMatrix, essentialMatrix)
Emgu CV Library Documentation
StereoCalibrate Method (objectPoints, imagePoints1, imagePoints2, intrinsicParam1, intrinsicParam2, imageSize, flags, termCrit, extrinsicParams, foundamentalMatrix, essentialMatrix)
NamespacesEmgu.CVCameraCalibrationStereoCalibrate(array<array<MCvPoint3D32f>[]()[]>[]()[], array<array<PointF>[]()[]>[]()[], array<array<PointF>[]()[]>[]()[], IntrinsicCameraParameters, IntrinsicCameraParameters, Size, CALIB_TYPE, MCvTermCriteria, ExtrinsicCameraParameters%, Matrix<(Of <(Double>)>)%, Matrix<(Of <(Double>)>)%)

www.emgu.com/wiki
Estimates transformation between the 2 cameras making a stereo pair. If we have a stereo camera, where the relative position and orientatation of the 2 cameras is fixed, and if we computed poses of an object relative to the fist camera and to the second camera, (R1, T1) and (R2, T2), respectively (that can be done with cvFindExtrinsicCameraParams2), obviously, those poses will relate to each other, i.e. given (R1, T1) it should be possible to compute (R2, T2) - we only need to know the position and orientation of the 2nd camera relative to the 1st camera. That's what the described function does. It computes (R, T) such that: R2=R*R1, T2=R*T1 + T
Declaration Syntax
 C# Visual Basic Visual C++
```public static void StereoCalibrate(
MCvPoint3D32f[][] objectPoints,
PointF[][] imagePoints1,
PointF[][] imagePoints2,
IntrinsicCameraParameters intrinsicParam1,
IntrinsicCameraParameters intrinsicParam2,
Size imageSize,
CALIB_TYPE flags,
MCvTermCriteria termCrit,
out ExtrinsicCameraParameters extrinsicParams,
out Matrix<double> foundamentalMatrix,
out Matrix<double> essentialMatrix
)```
```Public Shared Sub StereoCalibrate ( _
objectPoints As MCvPoint3D32f()(), _
imagePoints1 As PointF()(), _
imagePoints2 As PointF()(), _
intrinsicParam1 As IntrinsicCameraParameters, _
intrinsicParam2 As IntrinsicCameraParameters, _
imageSize As Size, _
flags As CALIB_TYPE, _
termCrit As MCvTermCriteria, _
<OutAttribute> ByRef extrinsicParams As ExtrinsicCameraParameters, _
<OutAttribute> ByRef foundamentalMatrix As Matrix(Of Double), _
<OutAttribute> ByRef essentialMatrix As Matrix(Of Double) _
)```
```public:
static void StereoCalibrate(
array<array<MCvPoint3D32f>^>^ objectPoints,
array<array<PointF>^>^ imagePoints1,
array<array<PointF>^>^ imagePoints2,
IntrinsicCameraParameters^ intrinsicParam1,
IntrinsicCameraParameters^ intrinsicParam2,
Size imageSize,
CALIB_TYPE flags,
MCvTermCriteria termCrit,
[OutAttribute] ExtrinsicCameraParameters^% extrinsicParams,
[OutAttribute] Matrix<double>^% foundamentalMatrix,
[OutAttribute] Matrix<double>^% essentialMatrix
)```
Parameters
objectPoints (array< array< MCvPoint3D32f >[]()[] >[]()[])
The 3D location of the object points. The first index is the index of image, second index is the index of the point
imagePoints1 (array< array< PointF >[]()[] >[]()[])
The 2D image location of the points. The first index is the index of the image, second index is the index of the point
imagePoints2 (array< array< PointF >[]()[] >[]()[])
The 2D image location of the points. The first index is the index of the image, second index is the index of the point
intrinsicParam1 (IntrinsicCameraParameters)
The intrisinc parameters, might contains some initial values. The values will be modified by this function.
intrinsicParam2 (IntrinsicCameraParameters)
The intrisinc parameters, might contains some initial values. The values will be modified by this function.
imageSize (Size)
Size of the image, used only to initialize intrinsic camera matrix
flags (CALIB_TYPE)
Different flags
termCrit (MCvTermCriteria)
Termination criteria for the iterative optimiziation algorithm
extrinsicParams ( ExtrinsicCameraParameters %)
The extrinsic parameters which contains: R - The rotation matrix between the 1st and the 2nd cameras' coordinate systems; T - The translation vector between the cameras' coordinate systems.
foundamentalMatrix ( Matrix<(Of <(Double>)>) %)
fundamental matrix
essentialMatrix ( Matrix<(Of <(Double>)>) %)
essential matrix

Assembly: Emgu.CV (Module: Emgu.CV) Version: 1.5.0.0 (1.5.0.0)