如何在Python中使用openkinect捕获视差图像?
问题描述:
我正在使用openkinect的python绑定获取深度和RGB图像。出于某些原因,我需要差距图像。如何在Python中使用openkinect捕获视差图像?
有人可以帮助我,如何获得该图像?
非常感谢。
答
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背后的一些理论。
你是什么意思与“视差图像”完全一致? – Masci 2012-03-22 12:13:42
已经由两台红外摄像机计算出来的图像......就我的理解而言,视差是找到对应关系,深度图像是根据视差值估计的图像 – Shan 2012-03-22 14:21:31
正在挑剔:Kinect有只有一个红外摄像机。这个差距是通过它还有一个红外投影仪来计算的,该红外投影仪在红外光谱仪中发射一个图案。请参阅http://en.wikipedia.org/wiki/Structured_Light_3D_Scanner – 2012-03-22 16:03:59