Вход PyOpenNI для OpenCV

Я работаю с OpenCV в Python. Я хочу получить информацию от Asus Xtion . Я могу успешно запускать образцы из PyOpenNI . Я хочу использовать полученное изображение (формат str) igen.get_synced_image_map_bgr() в opencv.

IGEN-ImageGenerator

Я хочу преобразовать это в IplImage, Как я могу это сделать, или Как я могу иначе использовать вход от датчика глубины в коде Python Opencv.

1 ответ

Недавно я использовал данные глубины формата строки из Kinect в PyOpenNI с OpenCV. Используйте пустые массивы, которые могут быть созданы из строк и которые являются типом данных по умолчанию в cv2 (OpenCV) для Python.

Пример кода здесь: 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)
Другие вопросы по тегам