0

我正在使用Python 中的OpenCV。我想从 Asus Xtion 获得输入。我能够从 PyOpenNI 成功运行示例。我想使用igen.get_synced_image_map_bgr()在opencv中获得的图像(str格式)。

igen-ImageGenerator

我想将其转换为IplImage. 我该怎么做,或者我如何才能在 Opencv python 代码中使用来自深度传感器的输入。

4

1 回答 1

0

我最近在带有 OpenCV 的 PyOpenNI 中使用了来自 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)
于 2014-01-23T21:32:56.267 回答