⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 activeshapetracker.h_pets2001

📁 不错的shijuegezong的程序
💻 H_PETS2001
字号:
/*  This source file is the copyright property of the University of Leeds  ('The University').    Permission to use, copy, modify, and distribute this source file for  educational, research, and not-for-profit purposes, without fee and  without a signed licensing agreement, is hereby granted, provided that  the above copyright notice, this paragraph and the following three  paragraphs appear in all copies, modifications, and distributions.    In no event shall The University be liable to any party for direct,  indirect, special, incidental or consequential damages, including lost  profits, arising out of the use of this software and its documentation.    The software is provided without warranty. The University has no obligation  to provide maintenance, support, updates, enhancements, or modifications.    This software was written by Adam Baumberg, Vision Group,  School of Computer Studies, University of Leeds, U.K. The code and use  thereof should be attributed to the author where appropriate (including  demonstrations which rely on it's use).*//*************************************************************** * C - C++ Header * * File : 	ActiveShapeTracker.h * * Module :	ActiveShapeTracker * * Author : 	A M Baumberg (CoMIR) * * Creation Date : Tue Oct 22 13:32:53 1996  * * Comments : 	High level people tracker without ground plane info * ***************************************************************/#ifndef __ACTIVE_SHAPE_TRACKER_H__#define __ACTIVE_SHAPE_TRACKER_H__#include "OcclusionImage.h"#include "ActiveModel.h"#include "MotionDetector.h"#include "TrackedProfileSet.h"class ActiveShapeTracker{    // configuration variablespublic:    static int SMALL_NO_FRAMES;protected:    static realno START_FITNESS_THRESHOLD;  // nts: was FITNESS_THRESHOLD    static realno TRACK_FITNESS_THRESHOLD;  // nts: was VERY_POOR_FIT    static realno MIN_SIGNIFICANCE;    static realno TERMINATION_THRESHOLD;    static int TEMPORAL_SKIP;        Image *previous_frame;    bool detect_new;        // used to handle occlusions    OcclusionImage *occ_handler;        // local image fitting    ActiveModel *local_optimiser;        // current tracked people    ProfileSet *profiles;    // static objects/people (not tracked any more)    TrackedProfileSet *static_profiles;        MotionDetector* detect_motion;        // uncertainties for Kalman filtering    // relative to the initial object height    static realno init_pos_sd;    static realno init_vel_sd;    static realno noise_vel_sd;    static realno noise_acc_sd;            static realno init_scale_sd;	// the std dev of initial scale estimate    static realno noise_scale_sd;	// the std dev of scale noise term    static realno init_theta_sd;	// the std dev of initial theta estimate    static realno noise_theta_sd;       // the std dev of theta noise term        /////  distances between non-people profiles, tags whether objects were matched    realno profile_dist[1024][1024];    bool matched_tag [1024];public:        ActiveShapeTracker(OcclusionImage*,   ActiveModel*,			MotionDetector*, ProfileSet* = NULL);            ActiveShapeTracker(ImageSource *video_source,			char *pca_file = NULL,			ProfileSet *profiles_out = NULL,			EdgeDetector *edges = NULL,			TrackedProfileSet *static_profiles_out = NULL);        // tracking loop for each new image    void MainLoop (unsigned int max_objects = 32);        // get the tracked profiles    TrackedProfileSet *get_tracked_profiles()	{	    return (TrackedProfileSet *) profiles;	}protected:    void predict_profiles();    void track_old_objects();  // nts: changed name from track_all()        void track_new_objects();    void initialise_track(TrackedProfile* );    ///// nts: new Sep 11 and 15, 2001    void match_profiles(TrackedProfileSet *old_prf, ProfileSet *new_prf);    void combine_close_profiles(ProfileSet *prf, realno max_bbox_dist);    void split_wide_profiles(ProfileSet *prf);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -