PyOpenNI深度生成器刷新

时间:2015-04-15 08:01:07

标签: python numpy openni

我正在使用PyOpenNI从华硕Xtion Live Pro捕捉深度图像。以下是代码的简短示例:

from openni import *
import numpy as np
import cv2
import time

context = Context()
context.init()

depth = DepthGenerator()
depth.create(context)
depth.set_resolution_preset(RES_VGA)
depth.fps = 30
context.start_generating_all()
context.wait_any_update_all()
frame = np.fromstring(depth.get_raw_depth_map_8(), "uint8").reshape(480, 640)
cv2.imwrite("image.png", frame)

这样可以正常工作,但是如果我希望每秒都能获得一个带有循环的深度图像流,

while True:
   frame = np.fromstring(depth.get_raw_depth_map_8(), "uint8").reshape(480, 640)
   cv2.imwrite("image.png", frame)
   time.sleep(1)

即使我在传感器前移动,图像也是一样的。似乎Xtion没有刷新环境的获取。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案! 你必须打电话:

context.wait_any_update_all()
context.wait_and_update_all()
context.wait_one_update_all(Generator)