【问题标题】:Kinect RGB data using PyKinect directly, without pygame, to be processed using OpenCVKinect RGB数据直接使用PyKinect,无需pygame,使用OpenCV处理
【发布时间】:2018-07-27 06:37:25
【问题描述】:
我正在使用带有 Kinect 传感器 v1 的 pygame(当然是在 python 中)。
是否有任何方法可以直接使用来自传感器的数据使用 opencv 进行处理? (没有 pygame)
我尝试使用 frame.image.bits,但它给了我一个一维数组。
有什么方法可以从传感器获取帧作为帧图像,以便我可以使用 opencv 对其进行处理?
【问题讨论】:
标签:
python
opencv
kinect
pykinect
【解决方案1】:
from pykinect import nui
import numpy
import cv2
def video_handler_function(frame):
video = numpy.empty((480,640,4),numpy.uint8)
frame.image.copy_bits(video.ctypes.data)
cv2.imshow('KINECT Video Stream', video)
#------------------------------------main------------------------------------
kinect = nui.Runtime()
kinect.video_frame_ready += video_handler_function
kinect.video_stream.open(nui.ImageStreamType.Video, 2,nui.ImageResolution.Resolution640x480,nui.ImageType.Color)
cv2.namedWindow('KINECT Video Stream', cv2.WINDOW_AUTOSIZE)
while True:
key = cv2.waitKey(1)
if key == 27: break
kinect.close()
cv2.destroyAllWindows()
#------------------------------------main------------------------------------