Привет всем. Я немного покопался в компьютерном зрении, используя Python и OpenCV, и пытался откалибровать две камеры, которые я купил, чтобы провести реконструкцию 3D-стерео, но у меня возникли некоторые проблемы с этим.
Я в основном следовал этому учебнику , чтобы калибровать камеры отдельно (я применяю их к обеим), а затем я собираюсь использовать cv2.stereoCalibrate для получения относительной калибровки.
С одной калибровкой камеры, кажется, все работает правильно, я получаю очень низкую ошибку повторного проецирования, и, насколько мне известно, матрицы выглядят нормально.Здесь я оставляю результаты калибровки одной камеры.
cameraMatrix1 и distCoeffs1:
[[ 951.3607329 0. 298.74117671]
[ 0. 954.23088299 219.20548594]
[ 0. 0. 1. ]]
[[ -1.07320015e-01 -5.56147908e-01 -1.13339913e-03 1.85969704e-03
2.24131322e+00]]
cameraMatrix2 и distCoeffs2:
[[ 963.41078117 0. 362.85971342]
[ 0. 965.66793023 175.63216871]
[ 0. 0. 1. ]]
[[ -3.31491728e-01 2.26020466e+00 3.86190151e-03 -2.32988011e-03
-9.82275646e+00]]
Так что после этих я делаюследующее (я исправляю встроенные функции, как я уже знаю их по предыдущим калибровкам):
stereocalibration_criteria = (cv2.TERM_CRITERIA_MAX_ITER + cv2.TERM_CRITERIA_EPS, 100, 1e-5)
stereocalibration_flags = cv2.CALIB_FIX_INTRINSIC
stereocalibration_retval, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, R, T, E, F = cv2.stereoCalibrate(objpoints,imgpoints_left,imgpoints_right,cameraMatrix1,distCoeffs1,cameraMatrix2,distCoeffs2,gray_left.shape[::-1],criteria = stereocalibration_criteria, flags = stereocalibration_flags)
Я несколько раз пытался изменить флаги стереокалибровки и переключить матрицы, чтобы увидеть, не ошибся ли я впорядок и это имели значение, но я все еще заблокирован этим и получаю ответный удар около 30 (и после этого я пытаюсь исправить изображения, и, конечно, результат - катастрофа).
Я такжепопытался использовать некоторые калибровочные изображения из Интернета, и я получил тот же результат, поэтому я предполагаю, что проблема не в изображениях, которые я сделал.Если кто-то может указать мне правильное направление или знает, что может быть, это будет очень приветствоваться.