CvStereoCalibrate()声明中"InputOutputArray"的含义是什么?

5
这是来自http://docs.opencv.org/的C++函数CvStereoCalibrate()声明:
C++:double stereoCalibrate( InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints1, InputArrayOfArrays imagePoints2, InputOutputArray cameraMatrix1, InputOutputArray distCoeffs1, InputOutputArray cameraMatrix2, InputOutputArray distCoeffs2, Size imageSize, OutputArray R, OutputArray T, OutputArray E, OutputArray F, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 1e-6), int flags=CALIB_FIX_INTRINSIC )
1)参数类型InputOutputArray的含义是什么?
2)我能否使用CvCalibrateCamera()计算每个相机的内部参数cameraMatrix1,cameraMatrix2和失真系数distCoeffs1,distCoeffs2,然后将它们作为参数传递给CvstereoCalibrate()?
1个回答

6
InputOutputArray 是一种“占位符”类型。这种类型的参数在函数内部被原地修改。
还有其他两种类型: InputArray 在函数内部为只读类型。这些参数被用作函数的源数据,但不会被函数修改。 OutputArray 是仅写入类型。这种类型的参数在函数内部被修改。通常意味着它们在函数内部被创建。这意味着数组中的数据被函数生成的数据所替换。
这个原则是为了让函数可以“返回”多个值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接