Пример #1
0
    def __init__(self, camera_path):
        self.serial_number = pyfreenect2.getDefaultDeviceSerialNumber()
        self.device = pyfreenect2.Freenect2Device(self.serial_number)
        self.frame_listener = pyfreenect2.SyncMultiFrameListener(
            pyfreenect2.Frame.COLOR, pyfreenect2.Frame.IR,
            pyfreenect2.Frame.DEPTH)

        self.device.setColorFrameListener(self.frame_listener)
        self.device.setIrAndDepthFrameListener(self.frame_listener)
        self.camera = Camera.load_from_json(camera_path)
Пример #2
0
def frameData():

    rgb_frames = rospy.Publisher("rgbFrames", Image, queue_size=1)
    depth_frames = rospy.Publisher("depthFrames", Image, queue_size=1)
    #ir_frame = rospy.Publisher("irFrames",Image,queue_size=1)

    rospy.init_node("frameData", anonymous=True)

    rate = rospy.Rate(100)

    while not rospy.is_shutdown():

        # Set up frame listener
        frameListener = pyfreenect2.SyncMultiFrameListener(
            pyfreenect2.Frame.COLOR, pyfreenect2.Frame.IR,
            pyfreenect2.Frame.DEPTH)

        kinect.setColorFrameListener(frameListener)
        kinect.setIrAndDepthFrameListener(frameListener)

        # Start recording
        kinect.start()

        # Print useful info
        print "Kinect serial: %s" % kinect.serial_number
        print "Kinect firmware: %s" % kinect.firmware_version

        # What's a registration?
        print kinect.ir_camera_params

        registration = pyfreenect2.Registration(kinect.ir_camera_params,
                                                kinect.color_camera_params)
        #registration = pyfreenect2.Registration(kinect.color_camera_pacdrams, kinect.ir_camera_params)
        #registration = pyfreenect2.Registration()

        frames = frameListener.waitForNewFrame()

        rgbFrame = frames.getFrame(pyfreenect2.Frame.COLOR)
        #irFrame = frames.getFrame(pyfreenect2.Frame.IR)
        depthFrame = frames.getFrame(pyfreenect2.Frame.DEPTH)

        bridge = CvBridge()

        rgb_frame = rgbFrame.getRGBData()
        depth_frame = depthFrame.getDepthData()

        rgbFramesROS = bridge.cv2_to_imgmsg(rgb_frame, encoding="passthrough")
        depthFramesROS = bridge.cv2_to_imgmsg(depth_frame,
                                              encoding="passthrough")

        rgb_frames.publish(rgbFramesROS)
        depth_frames.publish(depthFramesROS)

        rate.sleep()
Пример #3
0
    def __init__(self, serial_number=None):
        serial = self.default_serial_number if serial_number is None else serial_number
        self._kinect = pyfreenect2.Freenect2Device(serial)
        self.is_activated = False

        # Set up frame listener
        self._frameListener = pyfreenect2.SyncMultiFrameListener(
            pyfreenect2.Frame.COLOR, pyfreenect2.Frame.IR,
            pyfreenect2.Frame.DEPTH)
        self._kinect.setColorFrameListener(self._frameListener)
        self._kinect.setIrAndDepthFrameListener(self._frameListener)
Пример #4
0
    def initialize_(self):
        # boostrapping code in pyfreenect2 todo: fix this...
        import pyfreenect2
        self.serial_number = pyfreenect2.getDefaultDeviceSerialNumber()
        self.device = pyfreenect2.Freenect2Device(self.serial_number)
        self.frame_listener = pyfreenect2.SyncMultiFrameListener(pyfreenect2.Frame.COLOR,
                                                                 pyfreenect2.Frame.DEPTH)

        self.device.setColorFrameListener(self.frame_listener)
        self.device.setIrAndDepthFrameListener(self.frame_listener)
        success = self.device.start()
        self.registration = pyfreenect2.Registration(self.device)

        return success
Пример #5
0
kinect = pyfreenect2.Freenect2Device(serialNumber)

# Set up signal handler
shutdown = False


def sigint_handler(signum, frame):
    print("Got SIGINT, shutting down...")
    shutdown = True


signal.signal(signal.SIGINT, sigint_handler)

# Set up frame listener
frameListener = pyfreenect2.SyncMultiFrameListener(pyfreenect2.Frame.COLOR,
                                                   pyfreenect2.Frame.IR,
                                                   pyfreenect2.Frame.DEPTH)

print(frameListener)
kinect.setColorFrameListener(frameListener)
kinect.setIrAndDepthFrameListener(frameListener)

# Start recording
kinect.start()

# Print useful info
print("Kinect serial: %s" % kinect.serial_number)
print("Kinect firmware: %s" % kinect.firmware_version)

# What's a registration?
print(kinect.ir_camera_params)