kpt_tracker Class Reference
[Keypoint detection and tracking]

Scale-space feature tracker. More...

#include <kpttracker.h>

Inheritance diagram for kpt_tracker:

Inheritance graph
[legend]
Collaboration diagram for kpt_tracker:

Collaboration graph
[legend]

List of all members.

Classes

class  recycler_t

Public Member Functions

 kpt_tracker (int width, int height, int levels, int max_motion, bool glContext=false, pyr_keypoint::pyr_keypoint_factory_t *kf=0, pyr_frame::pyr_frame_factory_t *ff=0, pyr_track::pyr_track_factory_t *tf=0)
virtual ~kpt_tracker ()
bool load_from_db (sqlite3 *db)
bool load_from_db (const char *dbfile)
bool load_tree (sqlite3 *db)
bool load_tree (const char *fn)
bool load_clusters (sqlite3 *db)
bool load_clusters (const char *fn)
void set_size (int width, int height, int levels, int max_motion)
virtual pyr_frameprocess_frame (IplImage *im)
 Store a new frame, detect features, and match them with previous frame.
virtual pyr_frameprocess_frame_pipeline (IplImage *im)
 Pipelined version of process_frame.
pyr_frameadd_frame (IplImage *im)
void traverse_tree (pyr_frame *frame)
void detect_keypoints (pyr_frame *f)
void track_ncclk (pyr_frame *f, pyr_frame *lf)
void clear ()
 remove all frames, all keypoints, and all tracks.
pyr_keypointbest_match (pyr_keypoint *templ, tracks::keypoint_frame_iterator it)

Public Attributes

pyr_yapedetector
keypointpoints
kmean_tree::node_ttree
id_cluster_collectionid_clusters
int nb_points
int max_motion
int nb_levels
int patch_size
float ncc_threshold
float ncc_threshold_high

Protected Member Functions

pyr_framecreate_frame (IplImage *im)

Protected Attributes

pyr_framepipeline_stage1

Friends

class pyr_keypoint


Detailed Description

Scale-space feature tracker.
Examples:

simpletrack.cpp.

Definition at line 158 of file kpttracker.h.


Constructor & Destructor Documentation

kpt_tracker::kpt_tracker ( int  width,
int  height,
int  levels,
int  max_motion,
bool  glContext = false,
pyr_keypoint::pyr_keypoint_factory_t kf = 0,
pyr_frame::pyr_frame_factory_t ff = 0,
pyr_track::pyr_track_factory_t tf = 0 
)

kpt_tracker::~kpt_tracker (  )  [virtual]

Definition at line 63 of file kpttracker.cpp.

References clear(), detector, id_clusters, points, and tree.


Member Function Documentation

pyr_frame * kpt_tracker::add_frame ( IplImage *  im  ) 

pyr_keypoint * kpt_tracker::best_match ( pyr_keypoint templ,
tracks::keypoint_frame_iterator  it 
)

Definition at line 920 of file kpttracker.cpp.

References cmp_ncc(), ncc_threshold, and ncc_threshold_high.

Referenced by track_ncclk().

void kpt_tracker::clear (  ) 

remove all frames, all keypoints, and all tracks.

Definition at line 77 of file kpttracker.cpp.

References tracks::frames, and tracks::remove_unmatched_tracks().

Referenced by ~kpt_tracker().

pyr_frame * kpt_tracker::create_frame ( IplImage *  im  )  [protected]

void kpt_tracker::detect_keypoints ( pyr_frame f  ) 

bool kpt_tracker::load_clusters ( const char *  fn  ) 

bool kpt_tracker::load_clusters ( sqlite3 *  db  ) 

bool kpt_tracker::load_from_db ( const char *  dbfile  ) 

Definition at line 163 of file kpttracker.cpp.

References load_from_db().

bool kpt_tracker::load_from_db ( sqlite3 *  db  ) 

Examples:
simpletrack.cpp.

Definition at line 173 of file kpttracker.cpp.

References load_clusters(), and load_tree().

Referenced by load_from_db(), and main().

bool kpt_tracker::load_tree ( const char *  fn  ) 

Definition at line 178 of file kpttracker.cpp.

References kmean_tree::load(), and tree.

bool kpt_tracker::load_tree ( sqlite3 *  db  ) 

Definition at line 140 of file kpttracker.cpp.

References kmean_tree::load(), and tree.

Referenced by pic_randomizer::detect_kpts(), and load_from_db().

pyr_frame * kpt_tracker::process_frame ( IplImage *  im  )  [virtual]

Store a new frame, detect features, and match them with previous frame.

This method takes care of releasing im.

Reimplemented in vobj_tracker.

Examples:
simpletrack.cpp.

Definition at line 243 of file kpttracker.cpp.

References pyr_frame::append_to(), PyrImage::build(), create_frame(), detect_keypoints(), tracks::get_nth_frame(), TaskTimer::popTask(), TaskTimer::pushTask(), pyr_frame::pyr, track_ncclk(), and traverse_tree().

Referenced by main(), and VSView::timerEvent().

pyr_frame * kpt_tracker::process_frame_pipeline ( IplImage *  im  )  [virtual]

Pipelined version of process_frame.

Returns 0 on the first call. This method takes care of releasing im.

Reimplemented in vobj_tracker.

Definition at line 213 of file kpttracker.cpp.

References pyr_frame::append_to(), PyrImage::build(), create_frame(), detect_keypoints(), tracks::get_nth_frame(), pipeline_stage1, pyr_frame::pyr, track_ncclk(), and traverse_tree().

Referenced by VSView::timerEvent().

void kpt_tracker::set_size ( int  width,
int  height,
int  levels,
int  max_motion 
)

Definition at line 201 of file kpttracker.cpp.

References detector, and nb_levels.

Referenced by pic_randomizer::detect_kpts().

void kpt_tracker::track_ncclk ( pyr_frame f,
pyr_frame lf 
)

void kpt_tracker::traverse_tree ( pyr_frame frame  ) 


Friends And Related Function Documentation

friend class pyr_keypoint [friend]

Definition at line 260 of file kpttracker.h.


Member Data Documentation

Definition at line 200 of file kpttracker.h.

Referenced by detect_keypoints(), kpt_tracker(), set_size(), and ~kpt_tracker().

Definition at line 220 of file kpttracker.h.

Referenced by track_ncclk().

Definition at line 221 of file kpttracker.h.

Referenced by create_frame(), and set_size().

Definition at line 219 of file kpttracker.h.

Referenced by detect_keypoints().

Definition at line 223 of file kpttracker.h.

Referenced by best_match(), kpt_tracker(), and track_ncclk().

Definition at line 223 of file kpttracker.h.

Referenced by best_match(), and kpt_tracker().

Definition at line 222 of file kpttracker.h.

Referenced by detect_keypoints(), kpt_tracker(), and track_ncclk().

Definition at line 201 of file kpttracker.h.

Referenced by detect_keypoints(), kpt_tracker(), and ~kpt_tracker().


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

Generated on Tue Mar 30 15:53:25 2010 for Polyora by  doxygen 1.5.9