Отображение инфракрасных изображений в цветные изображения в библиотеке RealSense - PullRequest
0 голосов
/ 28 сентября 2018

В настоящее время я использую камеру Intel d435.Я хочу выполнить выравнивание с помощью левой инфракрасной камеры и цветной камеры.

Функция выравнивания, предоставляемая библиотекой RealSense, имеет только возможность выравнивания глубины и цвета.

Я слышал, что RealSense Cameraуже выровнен с левой инфракрасной камерой и камерой глубины.

Однако я не могу сопоставить инфракрасное изображение и цветное изображение с этой информацией.Глубина изображения снова устанавливается на цветное изображение с помощью функции выравнивания.Интересно, как я могу совместить цветное изображение с левым инфракрасным изображением, установленным на глубину исходного состояния?

* * * * *Комментарий группы технической поддержки клиентов Realsense @Panepo Класс выравнивания, используемый в librealsense, демонстрирует карты между глубиной и некоторым другим потоком и наоборот.Мы не предлагаем другие формы выравнивания потоков.

Но есть одно предложение для вас попробовать. По сути, отображение - это метод триангуляции, в котором мы проходим точку пересечения пикселя в трехмерном пространстве, чтобы найти его источник.в другом кадре этот метод работает правильно, когда исходные данные имеют глубину (формат Z16).Один из возможных способов отображения между двумя потоками без глубины состоит в том, чтобы воспроизвести три потока (Depth + IR + RGB), затем рассчитать UV-карту для Depth to Color, а затем использовать эту UV-карту для переназначения IR-кадра (помните, что Depth и leftIR выровнены по дизайну).

Надеюсь, что предложение даст вам некоторое представление.Это метод, предложенный Intel Corporation.

МожетВы объясняете, что значит быть в состоянии решить проблему путем создания УФ-карты с использованием глубоких и цветных изображений?и есть ли в библиотеке RealSense2 функция UV-карты?

Мне нужен ваш драгоценный ответ.

1 Ответ

0 голосов
/ 05 декабря 2018

Да, Intel RealSense SDK 2.0 предоставляет класс PointCloud.Итак, вы настраиваете датчики, запускаете потоковую передачу, получаете рамки цвета и глубины, получаете UV Map следующим образом (C #):

var pointCloud = new PointCloud();
pointCloud.MapTexture(colorFrame);
var points = pointCloud.Calculate(depthFrame);
var vertices = new Points.Vertex[depth frame height * depth frame width];
var uvMap = new Points.TextureCoordinate[depth frame height * depth frame width];
points.CopyTo(vertices);
points.CopyTo(uvMap);

uvMap, который вы получите, - это нормализованное отображение глубины на цвет

ПРИМЕЧАНИЕ: если глубина выровнена по цвету, размер вершин и UV Map рассчитывается с использованием ширины и высоты рамки цвета

...