Example #1
0
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 = []
Example #2
0
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 = []
Example #3
0
	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: