2015-04-12 67 views
3

这是CvStereoCalibrate()在C++中的从http://docs.opencv.org/的 “InputOutputArray” 在CvStereoCalibrate的含义()声明

C++的声明:双stereoCalibrate(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints1,InputArrayOfArrays imagePoints2, InputOutputArray cameraMatrix1 ,InputOutputArray distCoeffs1, InputOutputArray cameraMatrix2,InputOutputArray distCoeffs2,尺寸 IMAGESIZE,OutputArray R,OutputArray T,OutputArray E,OutputArray 楼TermCriteria 标准= TermCriteria(TermCriteria :: COUNT + TermCriteria :: EPS,30, 1E-6),整数标志= CALIB_FIX_INTRINSIC)

1)是什么参数类型InputOutputArray意思?

2)I可以计算固有照相机参数cameraMatrix1cameraMatrix2和畸变系数distCoeffs1,使用CvCalibrateCamera()然后每个摄像机的distCoeffs2它们传递作为参数来CvstereoCalibrate()

回答

4

InputOutputArray是“占位符”类型。该类型的参数在功能内部被修改。

还有其他2种类型:

InputArray,其是只读的在函数内部。该参数用作函数的源数据,但不会被该函数修改。

OutputArray这是只写的。该类型的参数在函数内部被修改。通常这意味着它们是在函数内部创建的。这意味着数组中的数据被该函数生成的数据替换。

这个原理被使用,所以函数可以“返回”多个值。