CvStereoCalibrate()声明中"InputOutputArray"的含义

Sal*_*lma 4 c++ opencv

这是来自http://docs.opencv.org/的 C++中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),int flags = CALIB_FIX_INTRINSIC)

1)参数类型的含义是什么InputOutputArray

2)I可以计算固有照相机参数cameraMatrix1,cameraMatrix2并且失真系数distCoeffs1,distCoeffs2使用每个摄像机的CvCalibrateCamera()然后将它们传递作为参数来CvstereoCalibrate()

jno*_*cho 5

InputOutputArray是"占位"型.在函数内部就地修改了这种类型的参数.

还有其他两种类型:

InputArray在函数内部是只读的.这些参数用作函数的源数据,但不会被函数修改.

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

使用此原则使函数可以"返回"多个值.