Одновременная глубина и видео с kinect

Я хочу получить как глубину, так и видео из потоков из kinect в мой код opencv. Я работаю в линуксе. Я установил модуль libfreenect для глубины. Однако в /dev/ указано только одно устройство. Теперь, когда я подключаю Kinect к компьютеру и запускаю

camorama -d /dev/video0

Я получаю карту глубины. Затем я получаю доступ к устройству с помощью видеозахвата в opencv и получаю видео в формате rgb. Теперь, если я снова запущу команду camorama, на этот раз я получу видео в формате rgb. Я не могу понять, что происходит. Я в основном хочу, чтобы поток был в моем коде opencv. Пожалуйста помоги.


person rohit-biswas    schedule 11.05.2015    source источник


Ответы (1)


Запустите этот скрипт Python:

import freenect
import cv2
import numpy as np
from functions import *

def nothing(x):
    pass   
kernel = np.ones((5, 5), np.uint8)     

def pretty_depth(depth):
    np.clip(depth, 0, 2**10 - 1, depth)
    depth >>= 2
    depth = depth.astype(np.uint8)
    return depth

while 1:
    orig = freenect.sync_get_video()[0]
    orig = cv2.cvtColor(orig,cv2.COLOR_BGR2RGB)
    dst = pretty_depth(freenect.sync_get_depth()[0])#input from kinect
    cv2.imshow('Disparity', dst)
    cv2.imshow('RGB',orig)
    if cv2.waitKey(1) & 0xFF == ord('b'):
        break
person Saransh Kejriwal    schedule 04.03.2016