regionset.h
来自「VC视频对象的跟踪提取原代码(vc视频监控源码)」· C头文件 代码 · 共 99 行
H
99 行
/* * RegionSet.h * * a class consisting of a List of `Region's * */#ifndef __REGION_SET_H__#define __REGION_SET_H__#include "List.h"#include "Region.h"#include "Stack.h"#include "tracker_defines_types_and_helpers.h"namespace ReadingPeopleTracker{class Image;class Grey8Image;class ProfileSet;class RegionSet : public List<Region>{private: Stack *stack; static const unsigned int DEFAULT_MIN_REGION_SIZE; static const unsigned int DEFAULT_MAX_REGION_SIZE;public: // blob id from XML Region data (available iff INRIA external motion detector is used) frame_id_t xml_frame_id; RegionSet() { stack = new Stack; xml_frame_id = 0; } ~RegionSet() { // nothing } RegionSet &operator= (RegionSet &original) { // FIXME: Stack is not copied over... is it needed? xml_frame_id = original.xml_frame_id; List<Region>::operator=(original); return *this; } // Grab regions with subimage data from an image void grab_regions_and_subimages(const Grey8Image *img, unsigned int min_size = DEFAULT_MIN_REGION_SIZE, unsigned int max_size = DEFAULT_MAX_REGION_SIZE, bool keep_edge_regions = true); // grab all regions but don't grab region image void grab_regions(const Grey8Image *img, unsigned int min_size = DEFAULT_MIN_REGION_SIZE, unsigned int max_size = DEFAULT_MAX_REGION_SIZE, bool keep_edge_regions = true); void merge_regions(realno dist_threshold = 0.1); // remove small regions void filter(realno min_region_size); void draw_boxes(frame_id_t min_draw_age = 0); void draw_boxes_in_image(Image *canvas, frame_id_t max_age); void trace_regions(); void draw_regions(); /* draw the regions */ void clear_window(); void smooth(realno sd = 1.0, int win_sz = 5); ProfileSet *to_profiles(); // (allocates a new ProfileSet)private: // private helper static realno bbdistance(Region *r, Region *t); // dist between 2 blobs (regions)};} // namespace ReadingPeopleTracker#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?