xn::SceneAnalyzer Class Reference
C++ Reference to Application Programmer Interface (API) » Production Nodes Functionality

`#include <XnCppWrapper.h>`

Inheritance diagram for xn::SceneAnalyzer:
[legend]

## Public Member Functions

| SceneAnalyzer (XnNodeHandle hNode=NULL)
| SceneAnalyzer (const NodeWrapper &other)
XnStatus | Create (Context &context, Query *pQuery=NULL, EnumerationErrors *pErrors=NULL)
void | GetMetaData (SceneMetaData &metaData) const
const XnLabel * | GetLabelMap () const
XnStatus | GetFloor (XnPlane3D &Plane) const
Public Member Functions inherited from xn::MapGenerator
| MapGenerator (XnNodeHandle hNode=NULL)
| MapGenerator (const NodeWrapper &other)
XnUInt32 | GetSupportedMapOutputModesCount () const
XnStatus | GetSupportedMapOutputModes (XnMapOutputMode *aModes, XnUInt32 &nCount) const
XnStatus | SetMapOutputMode (const XnMapOutputMode &OutputMode)
XnStatus | GetMapOutputMode (XnMapOutputMode &OutputMode) const
XnUInt32 | GetBytesPerPixel () const
XnStatus | RegisterToMapOutputModeChange (StateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)
void | UnregisterFromMapOutputModeChange (XnCallbackHandle hCallback)
const CroppingCapability | GetCroppingCap () const
CroppingCapability | GetCroppingCap ()
GeneralIntCapability | GetBrightnessCap ()
GeneralIntCapability | GetContrastCap ()
GeneralIntCapability | GetHueCap ()
GeneralIntCapability | GetSaturationCap ()
GeneralIntCapability | GetSharpnessCap ()
GeneralIntCapability | GetGammaCap ()
GeneralIntCapability | GetWhiteBalanceCap ()
GeneralIntCapability | GetBacklightCompensationCap ()
GeneralIntCapability | GetGainCap ()
GeneralIntCapability | GetPanCap ()
GeneralIntCapability | GetTiltCap ()
GeneralIntCapability | GetRollCap ()
GeneralIntCapability | GetZoomCap ()
GeneralIntCapability | GetExposureCap ()
GeneralIntCapability | GetIrisCap ()
GeneralIntCapability | GetFocusCap ()
GeneralIntCapability | GetLowLightCompensationCap ()
AntiFlickerCapability | GetAntiFlickerCap ()
Public Member Functions inherited from xn::Generator
| Generator (XnNodeHandle hNode=NULL)
| Generator (const NodeWrapper &other)
XnStatus | StartGenerating ()
XnBool | IsGenerating () const
XnStatus | StopGenerating ()
XnStatus | RegisterToGenerationRunningChange (StateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)
void | UnregisterFromGenerationRunningChange (XnCallbackHandle hCallback)
XnStatus | RegisterToNewDataAvailable (StateChangedHandler handler, void *pCookie, XnCallbackHandle &hCallback)
void | UnregisterFromNewDataAvailable (XnCallbackHandle hCallback)
XnBool | IsNewDataAvailable (XnUInt64 *pnTimestamp=NULL) const
XnStatus | WaitAndUpdateData ()
XnBool | IsDataNew () const
const void * | GetData ()
XnUInt32 | GetDataSize () const
XnUInt64 | GetTimestamp () const
XnUInt32 | GetFrameID () const
const MirrorCapability | GetMirrorCap () const
MirrorCapability | GetMirrorCap ()
const AlternativeViewPointCapability | GetAlternativeViewPointCap () const
AlternativeViewPointCapability | GetAlternativeViewPointCap ()
const FrameSyncCapability | GetFrameSyncCap () const
FrameSyncCapability | GetFrameSyncCap ()
Public Member Functions inherited from xn::ProductionNode
| ProductionNode (XnNodeHandle hNode=NULL)
| ProductionNode (const NodeWrapper &other)
NodeInfo | GetInfo () const
XnStatus | AddNeededNode (ProductionNode &needed)
XnStatus | RemoveNeededNode (ProductionNode &needed)
void | GetContext (Context &context) const
Context | GetContext () const
XnBool | IsCapabilitySupported (const XnChar *strCapabilityName) const
XnStatus | SetIntProperty (const XnChar *strName, XnUInt64 nValue)
XnStatus | SetRealProperty (const XnChar *strName, XnDouble dValue)
XnStatus | SetStringProperty (const XnChar *strName, const XnChar *strValue)
XnStatus | SetGeneralProperty (const XnChar *strName, XnUInt32 nBufferSize, const void *pBuffer)
XnStatus | GetIntProperty (const XnChar *strName, XnUInt64 &nValue) const
XnStatus | GetRealProperty (const XnChar *strName, XnDouble &dValue) const
XnStatus | GetStringProperty (const XnChar *strName, XnChar *csValue, XnUInt32 nBufSize) const
XnStatus | GetGeneralProperty (const XnChar *strName, XnUInt32 nBufferSize, void *pBuffer) const
XnStatus | LockForChanges (XnLockHandle *phLock)
void | UnlockForChanges (XnLockHandle hLock)
XnStatus | LockedNodeStartChanges (XnLockHandle hLock)
void | LockedNodeEndChanges (XnLockHandle hLock)
const ErrorStateCapability | GetErrorStateCap () const
ErrorStateCapability | GetErrorStateCap ()
GeneralIntCapability | GetGeneralIntCap (const XnChar *strCapability)
Public Member Functions inherited from xn::NodeWrapper
| NodeWrapper (XnNodeHandle hNode)
| NodeWrapper (const NodeWrapper &other)
NodeWrapper & | operator= (const NodeWrapper &other)
| ~NodeWrapper ()
| operator XnNodeHandle () const
XnNodeHandle | GetHandle () const
XnBool | operator== (const NodeWrapper &other)
XnBool | operator!= (const NodeWrapper &other)
XnBool | IsValid () const
const XnChar * | GetName () const
XnStatus | AddRef ()
void | Release ()
void | SetHandle (XnNodeHandle hNode)
void | TakeOwnership (XnNodeHandle hNode)

## Detailed Description

Purpose: Performs an analysis of the scene, identifying different objects.

Data output: A label map and the floor plane.

Remarks:

The scene analyzer node analyzes a scene, calculating the separation of the foreground from the background, identification of figures in the scene, and detection of the floor plane and its coordinates.

The SceneAnalyzer node's main output is a label map, in which each pixel is labeled according to the object it belongs to. So, for example, each human person gets a separate label, and all pixels belonging to him are labeled with that label.

## Constructor & Destructor Documentation

## SceneAnalyzer() [1/2]

xn::SceneAnalyzer::SceneAnalyzer | ( | XnNodeHandle | hNode = NULL | ) |

inline

Ctor

Parameters

  [in] | hNode | Node handle

## SceneAnalyzer() [2/2]

xn::SceneAnalyzer::SceneAnalyzer | ( | const NodeWrapper & | other | ) |

inline

## Member Function Documentation

## Create()

XnStatus xn::SceneAnalyzer::Create | ( | Context & | context,
|  | Query * | pQuery = NULL,
|  | EnumerationErrors * | pErrors = NULL )

inline

Creates a SceneAnalyzer node from available production node alternatives.

Remarks

See create_method for a detailed description of this method.

## GetFloor()

XnStatus xn::SceneAnalyzer::GetFloor | ( | XnPlane3D & | Plane | ) | const

inline

Gets a description of the floor, if it was found.

Parameters

  [out] | Plane | A description of the floor

## GetLabelMap()

const XnLabel * xn::SceneAnalyzer::GetLabelMap | ( |  | ) | const

inline

Gets the label map, describing the current segmentation of the scene. For full details and usage, see xnGetLabelMap

## GetMetaData()

void xn::SceneAnalyzer::GetMetaData | ( | SceneMetaData & | metaData | ) | const

inline

Gets the scene analyzer node's latest frame object, saving it in the xn::SceneMetaData object. This frame object is a snapshot of the generated label map data and its associated configuration information at a certain point in time. This saved frame object provides fast and easy access to the scene analyzer node's data and configuration information.

Parameters

  [out] | metaData | Structure to be filled with the frame object.

Remarks:

This method is central in the use of the SceneAnalyzer node. Once the SceneAnalyzer node is generating data, after each 'Update Data' call, the application calls this method to get the node's frame object, which contains the data and all its associated properties.

The frame scene is a labeled depth map, in which each pixel contains a numeric label indicating whether it represents a user, or it is part of the background.

The documentation for this class was generated from the following file:

- XnCppWrapper.h