Candy
|
The depth data object tracker uses depth data from a depth camera to track a free floating object, such as the head of a person that a Kinect is filming from above. More...
Classes | |
struct | SFDepthCamera |
Public Types | |
typedef H3D::H3DImageObject::SFImage | SFImage |
typedef H3D::TypedSFNode < Candy::PaintTexture > | SFPaintTexture |
Public Member Functions | |
DepthDataObjectTracker (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< MFPosition > _rawPosition=0, H3D::Inst< MFOrientation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< Processor > _processor=0, H3D::Inst< SFImage > _depthData=0, H3D::Inst< SFImage > _positionData=0, H3D::Inst< SFImage > _depthDataBackground=0, H3D::Inst< SFPaintTexture > _debugTexture=0, H3D::Inst< SFDepthCamera > _depthCamera=0, H3D::Inst< H3D::SFVec2f > _objectRegionSize=0, H3D::Inst< H3D::SFFloat > _objectRegionDepth=0, H3D::Inst< H3D::SFFloat > _objectMinimumArea=0, H3D::Inst< H3D::SFVec2f > _highPointModifier=0) | |
![]() | |
HVRPullUpdatedTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< MFPosition > _rawPosition=0, H3D::Inst< MFOrientation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< Processor > _processor=0) | |
![]() | |
HVRMappedTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< H3D::MFVec3f > _rawPosition=0, H3D::Inst< H3D::MFRotation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< MFTrackerPoint > _trackerPoint=0) | |
![]() | |
HVRTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< H3D::MFVec3f > _rawPosition=0, H3D::Inst< H3D::MFRotation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< H3D::MFVec3f > _trackerPosition=0, H3D::Inst< H3D::MFRotation > _trackerOrientation=0) | |
virtual std::string | defaultXMLContainerField () |
Public Attributes | |
std::auto_ptr< SFPaintTexture > | debugTexture |
![]() | |
std::auto_ptr< SFDepthCamera > | depthCamera |
![]() | |
std::auto_ptr< H3D::SFVec2f > | objectRegionSize |
![]() | |
std::auto_ptr< H3D::SFFloat > | objectRegionDepth |
![]() | |
std::auto_ptr< H3D::SFFloat > | objectMinimumArea |
![]() | |
std::auto_ptr< H3D::SFVec2f > | highPointModifier |
![]() | |
![]() | |
struct HVR_API | Point |
std::auto_ptr< MFMappingNode > | mapping |
![]() | |
![]() | |
std::auto_ptr< H3D::MFVec3f > | rawPosition |
![]() | |
std::auto_ptr< H3D::MFRotation > | rawOrientation |
![]() | |
std::auto_ptr< CalibratedMatrix > | trackerMatrix |
![]() | |
std::auto_ptr< H3D::MFVec3f > | trackerPosition |
![]() | |
std::auto_ptr< H3D::MFRotation > | trackerOrientation |
![]() | |
Static Public Attributes | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
Protected Member Functions | |
void | update () |
![]() | |
void | updateRawMatrix (const std::vector< H3D::Matrix4f > &m) |
Call this function to update the tracker data. More... | |
void | updateRawPositionOrientation (const std::vector< H3D::Vec3f > &x, const std::vector< H3D::Rotation > &r) |
Call this function to update the tracker data. More... | |
Protected Attributes | |
std::auto_ptr< SFImage > | depthData |
std::auto_ptr< SFImage > | positionData |
std::auto_ptr< SFImage > | depthDataBackground |
![]() | |
std::auto_ptr< Processor > | processor |
Calls the update function when new position or orientation data are needed. More... | |
![]() | |
struct HVR_API | MFTrackerPoint |
std::auto_ptr< MFTrackerPoint > | trackerPoint |
Friends | |
struct | SFDepthCamera |
Additional Inherited Members | |
![]() | |
typedef H3D::MField< Point > | MFPoint |
typedef H3D::TypedMFNode < HVRMappingNode > | MFMappingNode |
The depth data object tracker uses depth data from a depth camera to track a free floating object, such as the head of a person that a Kinect is filming from above.
std::auto_ptr< SFPaintTexture > HVR::DepthDataObjectTracker::debugTexture |
This texture will not be cleared between frames, since many trackers may be drawing to the same texture.
Add the same texture to the depth camera node to reset and fill with the depth image.
std::auto_ptr< SFDepthCamera > HVR::DepthDataObjectTracker::depthCamera |
The camera to read the depth data from.
std::auto_ptr< H3D::SFVec2f > HVR::DepthDataObjectTracker::highPointModifier |
A modifier that, if non zero, specifies a weight of the xy coordinates on the height score used to determine which point is the highest.
Use this to find the highest point in a slanted manner relative the camera.
std::auto_ptr< H3D::SFFloat > HVR::DepthDataObjectTracker::objectMinimumArea |
The minimum pixel area that is still considered a valid object.
The default value is suitable for a head from above.
std::auto_ptr< H3D::SFFloat > HVR::DepthDataObjectTracker::objectRegionDepth |
The depth, in meters, that counts as part of the object when the object area is integrated.
std::auto_ptr< H3D::SFVec2f > HVR::DepthDataObjectTracker::objectRegionSize |
The size, in pixels, of the region in which the object area is integrated.