def run(kinect, device_num): kinect.initialized.wait() if device_num >= kinect.num_devices: print >> sys.stderr, "No such device:", device_num sys.exit(1) cv2.namedWindow("Depth") cv2.namedWindow("Depth Filter") clicks = [] def mouse(event, x, y, flags, arg): if event == 4: clicks.append((x, y, frame[y][x])) cv2.setMouseCallback("Depth", mouse) depth_filter = None for frame in kinect.new_consumer('depth', device_num=device_num, decimate=2): depth, mask = frame_to_depth(frame) masked_depth = numpy.ma.array(depth, mask=mask) if depth_filter is not None: filtered_depth = numpy.ma.array(depth, mask=(numpy.logical_or( mask, depth > depth_filter))) else: filtered_depth = masked_depth img_gb = depth_to_img(masked_depth) img_r = depth_to_img(filtered_depth) img = cv2.merge((img_gb, img_gb, img_r)) cv2.imshow("Depth", img) if depth_filter is not None: cv2.imshow("Depth Filter", depth_to_img(depth_filter)) if cv2.waitKey(10) == 27: break if len(clicks) >= 3: depth_filter = make_filter(depth, clicks[:3]) filename = 'depth_filter.%d.npy' % device_num numpy.save(filename, depth_filter) print "Saved", filename clicks = []
def run(kinect, device_num): kinect.initialized.wait() if device_num >= kinect.num_devices: print >>sys.stderr, "No such device:", device_num sys.exit(1) cv2.namedWindow("Depth") cv2.namedWindow("Depth Filter") clicks = [] def mouse(event, x, y, flags, arg): if event == 4: clicks.append((x,y,frame[y][x])) cv2.setMouseCallback("Depth", mouse) depth_filter = None for frame in kinect.new_consumer('depth', device_num=device_num, decimate=2): depth, mask = frame_to_depth(frame) masked_depth = numpy.ma.array(depth, mask=mask) if depth_filter is not None: filtered_depth = numpy.ma.array(depth, mask=(numpy.logical_or(mask, depth > depth_filter))) else: filtered_depth = masked_depth img_gb = depth_to_img(masked_depth) img_r = depth_to_img(filtered_depth) img = cv2.merge((img_gb, img_gb, img_r)) cv2.imshow("Depth", img) if depth_filter is not None: cv2.imshow("Depth Filter", depth_to_img(depth_filter)) if cv2.waitKey(10) == 27: break if len(clicks) >= 3: depth_filter = make_filter(depth, clicks[:3]) filename = 'depth_filter.%d.npy' % device_num numpy.save(filename, depth_filter) print "Saved", filename clicks = []
return res[0,0] * z try: cv2.namedWindow("Depth") cv2.namedWindow("Depth Filter") def mouse(event, x, y, flags, arg): if event == 4: clicks.append((x,y,frame[y][x])) cv2.setMouseCallback("Depth", mouse) depth_filter = None for frame in kinect.depth_stream(2): depth, mask = frame_to_depth(frame) masked_depth = np.ma.array(depth, mask=mask) if depth_filter is not None: filtered_depth = np.ma.array(depth, mask=(np.logical_or(mask, depth > depth_filter))) else: filtered_depth = masked_depth img_gb = depth_to_img(masked_depth) img_r = depth_to_img(filtered_depth) img = cv2.merge((img_gb, img_gb, img_r)) cv2.imshow("Depth", img) if depth_filter is not None: cv2.imshow("Depth Filter", depth_to_img(depth_filter)) if cv2.waitKey(10) == 27: break if len(clicks) >= 3: