pcfromkinect

Облако точек от Kinect для Windows

Описание

пример

ptCloud = pcfromkinect(depthDevice,depthImage) возвращает облако точек в Kinect® изображение глубины. depthDevice введите может быть любой a videoinput Объект (Image Acquisition Toolbox) или imaq.VideoDevice Объект (Image Acquisition Toolbox) сконфигурирован для Kinect (Версии 1 и 2) для Windows®.

Эта функция требует программного обеспечения Image Acquisition Toolbox™, которое поддерживает Kinect для Windows.

ptCloud = pcfromkinect(depthDevice,depthImage,colorImage) добавляет цвет к возвращенному облаку точек, заданному colorImage входной параметр.

Kinect для системы Windows, спроектированной для игр, производит depthImage и colorImage как зеркальные отображения сцены. Возвращенное облако точек корректируется, чтобы совпадать с фактической сценой.

ptCloud = pcfromkinect(depthDevice,depthImage,colorImage,alignment) дополнительно возвращает облако цветной точки с источником, заданным в центре камеры глубины.

Примеры

свернуть все

Постройте облако цветной точки от изображений Kinect. Этот пример требует программного обеспечения Image Acquisition Toolbox и камеры Kinect и связи с камерой.

Создайте Систему object™ для цветного устройства.

colorDevice = imaq.VideoDevice('kinect',1)

Создайте Системный объект для устройства глубины.

depthDevice = imaq.VideoDevice('kinect',2)

Инициализируйте камеру.

step(colorDevice);
step(depthDevice);

Загрузите одну систему координат от устройства.

colorImage = step(colorDevice);
depthImage = step(depthDevice);

Извлеките облако точек.

ptCloud = pcfromkinect(depthDevice,depthImage,colorImage);

Инициализируйте проигрыватель облака точек, чтобы визуализировать 3-D данные об облаке точек. Ось собирается соответственно визуализировать облако точек из Kinect.

player = pcplayer(ptCloud.XLimits,ptCloud.YLimits,ptCloud.ZLimits,...
	'VerticalAxis','y','VerticalAxisDir','down');

xlabel(player.Axes,'X (m)');
ylabel(player.Axes,'Y (m)');
zlabel(player.Axes,'Z (m)');

Получите и просмотрите 500 систем координат живых данных об облаке точек Kinect.

for i = 1:500    
   colorImage = step(colorDevice);  
   depthImage = step(depthDevice);
 
   ptCloud = pcfromkinect(depthDevice,depthImage,colorImage);
 
   view(player,ptCloud);
end

Выпустите объекты.

release(colorDevice);
release(depthDevice);

Входные параметры

свернуть все

Введите видео объект в виде любого a videoinput Объект (Image Acquisition Toolbox) или imaq.VideoDevice Объект (Image Acquisition Toolbox) сконфигурирован для Kinect для Windows.

Изображение глубины в виде M-by-N пиксельная матрица. Оригинальные изображения, depthImage и colorImage, от Kinect зеркальные отображения сцены.

Камера глубины Kinect имеет ограниченный диапазон. Ограниченный диапазон камеры глубины Kinect может заставить пиксельные значения в изображении глубины не иметь соответствующие 3-D координаты. Эти недостающие пиксельные значения установлены в NaN в Location свойство возвращенного облака точек.

Типы данных: uint16

Цветное изображение в виде M-by-N-by-3 изображение истинного цвета RGB, которое возвращает Kinect. Оригинальные изображения, depthImage и colorImage, от Kinect зеркальные отображения сцены.

Типы данных: uint8

Направление системы координат изображений в виде вектора символов 'colorCentric' или 'depthCentric'. Установите это значение к 'colorCentric' выровнять depthImage с colorImage. Установите alignment к 'depthCentric' выровнять colorImage с depthImage.

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

Примечание

Для непротиворечивости через использование Computer Vision Toolbox™ систем координат система координат, заданная этой функцией, отличается от той, заданной Kinect Скелетные метаданные.

Выходные аргументы

свернуть все

Облако точек, возвращенное как pointCloud объект. Источник системы координат возвращенного облака точек находится в центре камеры глубины.

Введенный в R2015b