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)
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()
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)
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
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)