Я пытаюсь выполнить реконструкцию 3D-модели, используя 2D-изображения с разных точек зрения. Я следую этому примеру кода из Matlab, чтобы получить желаемые результаты: Структура из движения из двух представлений.
Ниже приведены тестовые изображения, полученные с камеры:
Сделанные вручную изображения 1-го и 2-го изображения с перемещением 1 см:
Наложение с совпадающими функциями первого и второго изображения:
Сделанные вручную изображения 1-го и 2-го изображения с перемещением на 2 см:
Наложение с совпадающими функциями первого и второго изображения:
Это векторы перевода и матрицы вращения, которые я получаю для каждого случая:
1см перевод: вектор перевода:[0.0245537412606279 -0.855696925927505 -0.516894461905255]
матрица вращения:
[0.999958322438693 0.00879926762261436 0.00243439415451741;
-0.00887800587357739 0.999365801035702 0.0344844418829408;
-0.00212941243132160 -0.0345046172211024 0.999402269855899]
2см перевод: вектор перевода:[-0.215835469166982 -0.228607603749042 -0.949291111175908]
матрица вращения:
[0.999989695803078 -0.00104036790630347 -0.00441881457943975;
0.00149220346018613 0.994626852476622 0.103514238930121;
0.00428737874479779 -0.103519766069424 0.994618156086259]
В документации говорится, что это относительное вращение и перевод между двумя изображениями.
Но я не могу понять, что означают эти цифры и какова единица приведенных выше значений.
Может ли кто-нибудь хотя бы сообщить мне, в каких единицах мы получаем сдвиг и вращение или как извлечь вращение и сдвиг, которые каким-либо образом сопоставимы с реальными значениями, такими как см/мм и радианы/градусы соответственно?