我正在Python中使用OpenCV。我想要华硕Xtion的输入。我能够成功地从PyOpenNI运行样本。我想使用igen.get_synced_image_map_bgr()
在opencv中获得的图像(str格式)。
igen-ImageGenerator
我想把它转换成IplImage
。我如何做到这一点,或者我如何在Opencv python代码中使用深度传感器的输入。
我最近在PyOpenNI和OpenCV中使用了Kinect的字符串格式深度数据。使用numpy数组,它可以从字符串创建,并且是Python的cv2 (OpenCV)中的默认数据类型。
代码示例:http://euanfreeman.co.uk/pyopenni-and-opencv/
不确定Kinect与你的深度传感器有何不同,但这可能是一个有用的起点。好运!
编辑:添加代码
from openni import *
import numpy as np
import cv2
# Initialise OpenNI
context = Context()
context.init()
# Create a depth generator to access the depth stream
depth = DepthGenerator()
depth.create(context)
depth.set_resolution_preset(RES_VGA)
depth.fps = 30
# Start Kinect
context.start_generating_all()
context.wait_any_update_all()
# Create array from the raw depth map string
frame = np.fromstring(depth.get_raw_depth_map_8(), "uint8").reshape(480, 640)
# Render in OpenCV
cv2.imshow("image", frame)