Image Component Library (ICL)
|
Special Grabber implementation for Microsoft's Kinect Device. More...
#include <KinectGrabber.h>
Public Types | |
enum | Mode { GRAB_RGB_IMAGE, GRAB_BAYER_IMAGE, GRAB_DEPTH_IMAGE, GRAB_IR_IMAGE_8BIT, GRAB_IR_IMAGE_10BIT } |
Public Types inherited from icl::io::Grabber | |
typedef utils::Function< void, const core::ImgBase * > | callback |
new image callback type More... | |
Public Types inherited from icl::utils::Configurable | |
typedef Function< void, const Property & > | Callback |
Function type for changed properties. More... | |
Public Member Functions | |
ICLIO_API | KinectGrabber (Mode mode=GRAB_DEPTH_IMAGE, int deviceID=0, const utils::Size &size=utils::Size::VGA) |
ICLIO_API | KinectGrabber (Mode mode, const std::string &deviceIDOrSerial, const utils::Size &size=utils::Size::VGA) |
ICLIO_API | ~KinectGrabber () |
Destructor. More... | |
virtual ICLIO_API const core::ImgBase * | acquireImage () |
grabs a new image More... | |
ICLIO_API void | processPropertyChange (const utils::Configurable::Property &prop) |
callback for changed configurable properties More... | |
Public Member Functions inherited from icl::io::Grabber | |
Grabber () | |
virtual | ~Grabber () |
Destructor. More... | |
const core::ImgBase * | grab (core::ImgBase **dst=0) |
grab function calls the Grabber-specific acquireImage-method and applies distortion if necessary More... | |
template<class T > | |
bool | desiredUsed () const |
returns whether the desired parameter for the given type is used More... | |
template<class T > | |
void | useDesired (const T &t) |
sets desired parameters (only available for core::depth,utils::Size and core::format) More... | |
void | useDesired (core::depth d, const utils::Size &size, core::format fmt) |
sets up the grabber to use all given desired parameters More... | |
template<class T > | |
void | ignoreDesired () |
set the grabber to ignore the desired param of type T More... | |
void | ignoreDesired () |
sets up the grabber to ignore all desired parameters More... | |
template<class T > | |
T | getDesired () const |
returns the desired value for the given type T More... | |
virtual void | registerCallback (callback cb) |
registers a callback that is called each time, a new image is available More... | |
virtual void | removeAllCallbacks () |
removes all registered image callbacks More... | |
virtual void | notifyNewImageAvailable (const core::ImgBase *image) |
this function can be implemented by subclasses in order to notify, that a new image is available More... | |
void | enableUndistortion (const std::string &filename) |
enables the undistorion More... | |
void | enableUndistortion (const ImageUndistortion &udist) |
enables the undistortion plugin for the grabber using radial and tangential distortion parameters More... | |
void | enableUndistortion (const utils::ProgArg &pa) |
enables undistortion from given programm argument. More... | |
void | enableUndistortion (const core::Img32f &warpMap) |
enables undistortion for given warp map More... | |
void | setUndistortionInterpolationMode (core::scalemode mode) |
sets how undistortion is interpolated (supported modes are interpolateNN and interpolateLIN) More... | |
void | disableUndistortion () |
disables distortion More... | |
bool | isUndistortionEnabled () const |
returns whether distortion is currently enabled More... | |
const core::Img32f * | getUndistortionWarpMap () const |
returns the internal warp map or NULL if undistortion is not enabled More... | |
Public Member Functions inherited from icl::utils::Configurable | |
virtual | ~Configurable () |
virtual destructor More... | |
Configurable (const Configurable &other) | |
Copy constructor. More... | |
Configurable & | operator= (const Configurable &other) |
Assignment operator. More... | |
void | setConfigurableID (const std::string &ID) |
sets the ID of this configurable More... | |
const std::string & | getConfigurableID () const |
returns the configurables static ID More... | |
bool | isOrderedFlagSet () const |
returns whether the ordered flag is set More... | |
void | deactivateProperty (const std::string &pattern) |
adds an additional deativation pattern More... | |
void | deleteDeactivationPattern (const std::string &pattern) |
removed a formerly added deactivation pattern More... | |
std::vector< std::string > | getPropertyListWithoutDeactivated () const |
this returns a filtered list of properties (using all filters added by deactivateProperty) More... | |
virtual void | adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip) |
this function can be used to adapt a specific property afterwards More... | |
void | registerCallback (const Callback &cb) |
add a callback for changed properties More... | |
void | removedCallback (const Callback &cb) |
removes a callback that was registered before More... | |
void | syncChangesTo (Configurable *others, int num=1) |
this can be used to let this instance also apply property changes to others More... | |
virtual void | setPropertyValue (const std::string &propertyName, const Any &value) |
sets a property value More... | |
virtual std::vector< std::string > | getPropertyList () const |
returns a list of All properties, that can be set using setProperty More... | |
virtual bool | supportsProperty (const std::string &propertyName) const |
base implementation for property check (seaches in the property list) More... | |
virtual void | saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const |
writes all available properties into a file More... | |
virtual void | loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) |
reads a camera config file from disc More... | |
virtual std::string | getPropertyType (const std::string &propertyName) const |
get type of property More... | |
virtual std::string | getPropertyInfo (const std::string &propertyName) const |
get information of a properties valid values More... | |
virtual Any | getPropertyValue (const std::string &propertyName) const |
returns the current value of a property or a parameter More... | |
virtual std::string | getPropertyToolTip (const std::string &propertyName) const |
returns the tooltip description for a given property More... | |
virtual int | getPropertyVolatileness (const std::string &propertyName) const |
Returns whether this property may be changed internally. More... | |
Static Public Member Functions | |
static ICLIO_API const std::vector< GrabberDeviceDescription > & | getDeviceList (bool rescan) |
returns a list of attached kinect devices More... | |
Static Public Member Functions inherited from icl::io::Grabber | |
static std::string | translateSteppingRange (const utils::SteppingRange< double > &range) |
translates a SteppingRange into a string representation More... | |
static utils::SteppingRange< double > | translateSteppingRange (const std::string &rangeStr) |
creates a SteppingRange out of a string representation More... | |
static std::string | translateDoubleVec (const std::vector< double > &doubleVec) |
translates a vector of doubles into a string representation More... | |
static std::vector< double > | translateDoubleVec (const std::string &doubleVecStr) |
creates a vector of doubles out of a string representation More... | |
static std::string | translateStringVec (const std::vector< std::string > &stringVec) |
translates a vector of strings into a single string representation More... | |
static std::vector< std::string > | translateStringVec (const std::string &stringVecStr) |
creates a vector of strins out of a single string representation More... | |
Static Public Member Functions inherited from icl::utils::Configurable | |
static std::string | create_default_ID (const std::string &prefix) |
this function can be used in subclasses to create a default ID More... | |
static Configurable * | get (const std::string &id) |
returns configurable by given ID More... | |
static void | register_configurable_type (const std::string &classname, Function< Configurable * > creator) |
registers a configurable type More... | |
static std::vector< std::string > | get_registered_configurables () |
returns a list of all registered configurable classnames More... | |
static Configurable * | create_configurable (const std::string &classname) |
creates a configurable by given name More... | |
Protected Attributes | |
Impl * | m_impl |
internal hidden implementation class More... | |
Protected Attributes inherited from icl::utils::Configurable | |
std::vector< Callback > | callbacks |
internally managed list of callbacks More... | |
Private Member Functions | |
ICLIO_API void | init (Mode mode, const std::string &deviceIDOrSerial, const utils::Size &size) |
void | updateState () |
Additional Inherited Members | |
Static Public Attributes inherited from icl::utils::Configurable | |
static const std::vector< std::string > | EMPTY_VEC |
used as shortcut – just an empty vector of std::strings More... | |
Protected Member Functions inherited from icl::io::Grabber | |
virtual void | setDesiredFormatInternal (core::format fmt) |
internally set a desired format More... | |
virtual void | setDesiredSizeInternal (const utils::Size &size) |
internally set a desired format More... | |
virtual void | setDesiredDepthInternal (core::depth d) |
internally set a desired format More... | |
virtual core::format | getDesiredFormatInternal () const |
returns the desired format More... | |
virtual core::depth | getDesiredDepthInternal () const |
returns the desired format More... | |
virtual utils::Size | getDesiredSizeInternal () const |
returns the desired format More... | |
const core::ImgBase * | adaptGrabResult (const core::ImgBase *src, core::ImgBase **dst) |
Utility function that allows for much easier implementation of grabUD. More... | |
Protected Member Functions inherited from icl::utils::Uncopyable | |
Uncopyable () | |
Empty base constructor. More... | |
Protected Member Functions inherited from icl::utils::Configurable | |
void | addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string()) |
This can be used by derived classes to store supported properties in the internal list. More... | |
void | addChildConfigurable (Configurable *configurable, const std::string &childPrefix="") |
This adds another configurable as child. More... | |
void | removeChildConfigurable (Configurable *configurable) |
removes the given child configurable More... | |
Property & | prop (const std::string &propertyName) |
this CAN be used e.g. to store a property value in internal property-list More... | |
const Property & | prop (const std::string &propertyName) const |
this CAN be used e.g. to store a property value in internal property-list More... | |
Configurable (const std::string &ID="", bool ordered=true) | |
create this configurable with given ID More... | |
void | call_callbacks (const std::string &propertyName, const Configurable *caller) const |
calls all registered callbacks More... | |
Special Grabber implementation for Microsoft's Kinect Device.
This class implements ICL's Grabber interface for Microsofts Kinect Device. Internally, it uses libfreenect to access the device.
Enumerator | |
---|---|
GRAB_RGB_IMAGE | grabs rgb images form the kinects rgb camera |
GRAB_BAYER_IMAGE | not supported yet |
GRAB_DEPTH_IMAGE | grabs the core::depth image from kinect |
GRAB_IR_IMAGE_8BIT | grabs the kinects IR-image in most common 8Bit depth |
GRAB_IR_IMAGE_10BIT | grabs the kinects IR-image in 10Bit core::depth (use depth16s at least) |
ICLIO_API icl::io::KinectGrabber::KinectGrabber | ( | Mode | mode = GRAB_DEPTH_IMAGE , |
int | deviceID = 0 , |
||
const utils::Size & | size = utils::Size::VGA |
||
) |
ICLIO_API icl::io::KinectGrabber::KinectGrabber | ( | Mode | mode, |
const std::string & | deviceIDOrSerial, | ||
const utils::Size & | size = utils::Size::VGA |
||
) |
ICLIO_API icl::io::KinectGrabber::~KinectGrabber | ( | ) |
Destructor.
|
virtual |
grabs a new image
Reimplemented from icl::io::Grabber.
|
static |
returns a list of attached kinect devices
|
private |
ICLIO_API void icl::io::KinectGrabber::processPropertyChange | ( | const utils::Configurable::Property & | prop | ) |
callback for changed configurable properties
|
private |
|
protected |
internal hidden implementation class
hidden internal data