Create Frame Source Service implementation that uses Kinect input

Description

Create a FrameSource implementation that makes the camera image and the depth image from the Kinect available.

Activity

Show:
Benjamin Wulff
February 22, 2013, 4:22 PM

Added the module lecturesight-framesource-kinect. The module already contains skeleton classes

  • KinectVisualFrameGrabber, KinectVisualFrameGrabberFactory (FrameSource for the visual camera)

  • KinectDepthFrameGrabber, KinectDepthFrameGrabberFactory (FrameSource for the depth sensor)

Services should be ready to run, grabbing frames from the Kinect sensors must be implemented.

The FrameSources have the type prefix 'kinect-visual' and 'kinect-depth' so framesource MRLs will look like this:

kinect-depth://path/to/kinect[parm1=val1;parm2=val2]

Benjamin Wulff
April 1, 2013, 4:26 PM
Edited

For test purposes FrameSources now throw the signal "framesource.NEWFRAME" in addition to the normal signals that has a name that is generated at runtime. this way we can test if a framesource implementation is operational without the other components being loaded. in the configuration the following property must be set in order to make the heart beat listen only to framesources signaling that a new frame was acquired:

cv.lecturesight.heartbeat.listens.to=framesource.NEWFRAME

revision 14187

Benjamin Wulff
September 21, 2014, 5:52 PM
Edited

Kinect FrameSource MRLs just contain the device index since libfreenect does not provide device nodes:

kinect-visual://0
kinect-depth://0

The implementation also contains a pass-thru for libfreenect's logging. It can be activated with the following VM property

freenect.log = (true|false)

and the log level for the libfreenect logging can be set with VM property

freenect.log.level = (FATAL|ERROR|WARNING|NOTICE|INFO|DEBUG|SPEW|FLOOD)

A typical logging configuration would be

-Dfreenect.log=true -Dfreenect.log.level=NOTICE

Assignee

Benjamin Wulff

Reporter

Benjamin Wulff

Components

Affects versions

Priority

Major
Configure