我正在使用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没有刷新环境的获取。
答案 0 :(得分:0)
我找到了解决方案! 你必须打电话:
context.wait_any_update_all()
context.wait_and_update_all()
context.wait_one_update_all(Generator)