pcfromkinect

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

Описание

пример

ptCloud = pcfromkinect(depthDevice,depthImage) возвращает облако точек в изображение глубины Kinect®. depthDevice введите может быть любой videoinput возразите или imaq.VideoDevice объект сконфигурирован для 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);

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

свернуть все

Введите видео объект, заданный как любой videoinput возразите или imaq.VideoDevice объект сконфигурирован для 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