Вход 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)