определение calibrateCamera является: CV_EXPORTS_W двойной calibrateCamera (InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints, Размер IMAGESIZE, InputOutputArray cameraMatrix, InputOutputArray distCoeffs, OutputArrayOfArrays rvecs, OutputArrayOfArrays tvecs, int flags = 0, Критерии TermCriteria = TermCriteria (TermCriteria :: COUNT + TermCriteria :: EPS, 30, DBL_EPSILON));Как сделать calibrateCamera вернуть всего лишь 4 distCoeffs
некоторые эти Титулы:
@param distCoeffs Выходной вектор коэффициентов искажения \ F $ (k_1, k_2, p_1, p_2 [, K_3 [, k_4, k_5, k_6], [s_1, s_2, S_3 , s_4]]) \ f $ из 4, 5, 8 или 12 элементов.
@param флаги Различные флаги, которые могут быть равны нулю или сочетание следующих значений: - CV_CALIB_RATIONAL_MODEL Коэффициенты k4, k5 и k6 включены. Чтобы обеспечить обратную совместимость, этот дополнительный флаг должен быть явно указан, чтобы заставить функцию калибровки использовать рациональную модель и вернуть 8 коэффициентов. Если флаг не установлен, функция вычисляет и возвращает только 5 коэффициентов искажения.
Как мы видим, fuction calibrateCamera (...) возвращает 5 * 1 distCoeffs Mat, но из-за k_3 это будет слишком много, мне действительно не нужно k_3, как если бы k_3 использовался для Fisheye Lens , и cvCalibrateCamera2 (...) просто верните 4 * 1 distCoeffs Mat
, так что я могу сделать, чтобы справиться с calibrateCamera? Я много ищу, но у меня нет идей.