You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
@startuml |
|
package "TrackerFeature package" #DDDDDD { |
|
|
|
class TrackerFeatureSet{ |
|
-vector<pair<string, Ptr<TrackerFeature> > > features |
|
-vector<Mat> responses |
|
... |
|
TrackerFeatureSet(); |
|
~TrackerFeatureSet(); |
|
-- |
|
+extraction(const std::vector<Mat>& images); |
|
+selection(); |
|
+removeOutliers(); |
|
+vector<Mat> response getResponses(); |
|
+vector<pair<string TrackerFeatureType, Ptr<TrackerFeature> > > getTrackerFeatures(); |
|
+bool addTrackerFeature(string trackerFeatureType); |
|
+bool addTrackerFeature(Ptr<TrackerFeature>& feature); |
|
-clearResponses(); |
|
} |
|
|
|
class TrackerFeature <<virtual>>{ |
|
static Ptr<TrackerFeature> = create(const string& trackerFeatureType); |
|
compute(const std::vector<Mat>& images, Mat& response); |
|
selection(Mat& response, int npoints); |
|
} |
|
note bottom: Can be specialized as in table II\nA tracker can use more types of features |
|
|
|
class TrackerFeatureFeature2D{ |
|
-vector<Keypoints> keypoints |
|
--- |
|
TrackerFeatureFeature2D(string detectorType, string descriptorType); |
|
~TrackerFeatureFeature2D(); |
|
--- |
|
compute(const std::vector<Mat>& images, Mat& response); |
|
selection( Mat& response, int npoints); |
|
} |
|
class TrackerFeatureHOG{ |
|
TrackerFeatureHOG(); |
|
~TrackerFeatureHOG(); |
|
--- |
|
compute(const std::vector<Mat>& images, Mat& response); |
|
selection(Mat& response, int npoints); |
|
} |
|
|
|
TrackerFeatureSet *-- TrackerFeature |
|
TrackerFeature <|-- TrackerFeatureHOG |
|
TrackerFeature <|-- TrackerFeatureFeature2D |
|
|
|
|
|
note "Per readability and simplicity in this diagram\n there are only two TrackerFeature but you\n can considering the implementation of the other TrackerFeature" as N1 |
|
TrackerFeatureHOG .. N1 |
|
TrackerFeatureFeature2D .. N1 |
|
} |
|
|
|
@enduml
|
|
|