Как выполнить калибровку камеры RGB и глубины с помощью набора инструментов для калибровки камеры gml C++

Я хочу сопоставить изображения цветной камеры и камеры глубины Kinect v2. Итак, я хотел бы попробовать метод сайта ниже, Есть вещи, которые я не понимаю.

Kinect RGB и калибровка глубины камеры

введите описание изображения здесь

Я хотел бы знать, как я могу получить "rgb_M_world", "ir_M_worldmsgstr "с помощью инструмента" Панель инструментов калибровки камеры gml C++ ".

Этот инструмент выводит внешние параметры. но могу ли я думать, что этот внешний параметр означает rgb_M_world или ir_M_world на этом сайте?

Где инструмент GML определяет мировые координаты? Кроме того, необходимо, чтобы мировые координаты ИК-камеры и цветной камеры совпадали. Как я могу использовать инструмент GML для сопоставления мировых координат ИК-камеры и цветной камеры?

Буду признателен, если вы дадите мне несколько советов.

1 ответ

Решение

В блоге, на который вы ссылаетесь, говорится, что вы используете приложение с каждым набором изображений (или хотя бы с одним изображением), один набор с ИК-камеры, а другой набор с RGB-камеры.

Затем вы получите внешние данные для этого набора, другими словами, к камере, с которой они были сняты. Итак, если вы используете ИК-набор изображений, вы получите ir_M_World и присуще обычно использование матрицы камеры в модели камеры с отверстиями

s p = K [R|T] P

где s это масштабное значение, p 2d однородная точка, K это матрица камеры и [R|T] матрица внешних данных (вращение и перевод) и P это 3D точка.

Теперь вам нужно немного понять, как работает этот метод калибровки. Сначала у вас есть сетка точек (в вашем случае это пересечение шахматных квадратов. Эти точки должны быть представлены в трехмерных координатах. Так как обычно вас не волнует, где находятся эти точки (если у вас нет фиксированной системы координат, которую вы хотите следить) баллы принимаются следующим образом:

[0,0,0] [1,0,0] ... [n, 0,0]
[0,1,0]     ...       ...
  ...       ...       ...
[0,m,0]     ...     [n, m, 0]

Точка [0,0,0] может находиться в центре сетки, и шаги между точками могут быть реальными измерениями см / мм / м, но для удобства это так. Затем вы получите расстояние от созданного нами ложного облака точек до одной камеры, а затем до другой камеры. Поскольку у вас есть оба расстояния от одного и того же места, вы можете связать их, как описано в сообщении в блоге.

Вернуться к вашим вопросам:

Я не использовал набор инструментов GML, но я полагаю, что они используют ту же идею, как я объяснил выше, если это не может быть установлено вручную (иногда это только размер шага между точками, которые вы можете установить). Кажется также, что они используют только шахматные доски. Если этот процесс полностью автоматический, они используют одни и те же 3D-точки каждый раз, так что вы можете связать обе камеры. Я надеюсь, это поможет вам.

Другие вопросы по тегам