如何在Python中使用openkinect捕获视差图像?

问题描述:

我正在使用openkinect的python绑定获取深度和RGB图像。出于某些原因,我需要差距图像。如何在Python中使用openkinect捕获视差图像?

有人可以帮助我,如何获得该图像?

非常感谢。

+2

你是什么意思与“视差图像”完全一致? – Masci 2012-03-22 12:13:42

+0

已经由两台红外摄像机计算出来的图像......就我的理解而言,视差是找到对应关系,深度图像是根据视差值估计的图像 – Shan 2012-03-22 14:21:31

+1

正在挑剔:Kinect有只有一个红外摄像机。这个差距是通过它还有一个红外投影仪来计算的,该红外投影仪在红外光谱仪中发射一个图案。请参阅http://en.wikipedia.org/wiki/Structured_Light_3D_Scanner – 2012-03-22 16:03:59

AFAIK可以检索不同类型的图像的两个从RGB相机(例如,IR图像)和深度相机。不知道哪一个可以用于你的目的。 这些是摄像机的常量:

('VIDEO_BAYER', 
'VIDEO_IR_10BIT', 
'VIDEO_IR_10BIT_PACKED', 
'VIDEO_IR_8BIT', 
'VIDEO_RGB', 
'VIDEO_YUV_RAW', 
'VIDEO_YUV_RGB') 

而这些对于深度相机:

('DEPTH_10BIT', 
'DEPTH_10BIT_PACKED', 
'DEPTH_11BIT', 
'DEPTH_11BIT_PACKED') 

例如,检索红外图像,你可以这样做:

freenect.sync_get_video(0, freenect.VIDEO_IR_10BIT) 

工作与非同步API是类似的。也许你可以尝试一些上述的视频类型,抱歉,我不能更精确,但我缺乏kinect背后的一些理论。