我试图从用鼠标点击的像素中提取深度数据。当我打印X,Y坐标时,它就起作用了。当我试图打印像素深度数据时,它不起作用。我试图使用的代码是从如何为点击的像素提取RGB值的修改而来的。我面临的问题是如何解析出要打印的深度数据。当我运行这个时,我得到了TypeError:'NoneType'对象不可订阅 有什么想法吗?在
代码如下:
kinect = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Depth)
while True:
# --- Getting frames and drawing
if kinect.has_new_depth_frame():
frame = kinect.get_last_depth_frame()
frameD = kinect.get_last_depth_frame()
frameD = kinect._depth_frame_data
#frameD = frame.astype(np.uint8)
frame = frame.astype(np.uint8)
frame = np.reshape(frame, (424, 512))
output = cv2.cvtColor(frame, cv2.COLOR_GRAY2BGR)
def click_event(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print(x, y)
if event == cv2.EVENT_RBUTTONDOWN:
Pixel_Depth = output[x, y , 1]
print(Pixel_Depth)
#output = cv2.bilateralFilter(output, 1, 150, 75)
cv2.imshow('KINECT Video Stream', output)
cv2.setMouseCallback('KINECT Video Stream', click_event)
output = None
key = cv2.waitKey(1)
为了让它工作,我必须指定像素数,而不是“frameD=kinect.\u depth_frame_data”的x,y坐标
代码如下:
相关问题 更多 >
编程相关推荐