C# Class Emgu.CV.Features2D.Features2DTracker

This class use ImageFeature to match or track object
Inheritance: DisposableObject
ファイルを表示 Open project: genecyber/PredatorCV Class Usage Examples

Public Methods

Method Description
CamShiftTrack ( Emgu.CV.Features2D.ImageFeature observedFeatures, MCvBox2D initRegion, Single>.Image priorMask ) : HomographyMatrix

Use camshift to track the feature

Detect ( Emgu.CV.Features2D.ImageFeature observedFeatures, double uniquenessThreshold ) : HomographyMatrix

Detect the if the model features exist in the observed features. If true, an homography matrix is returned, otherwise, null is returned.

Features2DTracker ( Emgu.CV.Features2D.ImageFeature modelFeatures ) : System

Create a Image tracker, where Image is matched with flann

GetHomographyMatrixFromMatchedFeatures ( MatchedImageFeature matchedFeatures ) : HomographyMatrix

Recover the homography matrix using RANDSAC. If the matrix cannot be recovered, null is returned.

MatchFeature ( Emgu.CV.Features2D.ImageFeature observedFeatures, int k, int emax ) : MatchedImageFeature[]

Match the Image feature from the observed image to the features from the model image

VoteForSizeAndOrientation ( MatchedImageFeature matchedFeatures, double scaleIncrement, int rotationBins ) : MatchedImageFeature[]

Eliminate the matched features whose scale and rotation do not aggree with the majority's scale and rotation.

VoteForUniqueness ( MatchedImageFeature matchedFeatures, double uniquenessThreshold ) : MatchedImageFeature[]

Filter the matched Features, such that if a match is not unique, it is rejected.

Protected Methods

Method Description
DisposeObject ( ) : void

Release unmanaged memory

ReleaseManagedResources ( ) : void

Release the memory assocaited with this Image Tracker

Method Details

CamShiftTrack() public method

Use camshift to track the feature
public CamShiftTrack ( Emgu.CV.Features2D.ImageFeature observedFeatures, MCvBox2D initRegion, Single>.Image priorMask ) : HomographyMatrix
observedFeatures Emgu.CV.Features2D.ImageFeature The feature found from the observed image
initRegion MCvBox2D The predicted location of the model in the observed image. If not known, use MCvBox2D.Empty as default
priorMask Single>.Image The mask that should be the same size as the observed image. Contains a priori value of the probability a match can be found. If you are not sure, pass an image fills with 1.0s
return HomographyMatrix

Detect() public method

Detect the if the model features exist in the observed features. If true, an homography matrix is returned, otherwise, null is returned.
public Detect ( Emgu.CV.Features2D.ImageFeature observedFeatures, double uniquenessThreshold ) : HomographyMatrix
observedFeatures Emgu.CV.Features2D.ImageFeature The observed features
uniquenessThreshold double The distance different ratio which a match is consider unique, a good number will be 0.8
return HomographyMatrix

DisposeObject() protected method

Release unmanaged memory
protected DisposeObject ( ) : void
return void

Features2DTracker() public method

Create a Image tracker, where Image is matched with flann
public Features2DTracker ( Emgu.CV.Features2D.ImageFeature modelFeatures ) : System
modelFeatures Emgu.CV.Features2D.ImageFeature The Image feature from the model image
return System

GetHomographyMatrixFromMatchedFeatures() public static method

Recover the homography matrix using RANDSAC. If the matrix cannot be recovered, null is returned.
public static GetHomographyMatrixFromMatchedFeatures ( MatchedImageFeature matchedFeatures ) : HomographyMatrix
matchedFeatures MatchedImageFeature The Matched Features, only the first ModelFeature will be considered
return HomographyMatrix

MatchFeature() public method

Match the Image feature from the observed image to the features from the model image
public MatchFeature ( Emgu.CV.Features2D.ImageFeature observedFeatures, int k, int emax ) : MatchedImageFeature[]
observedFeatures Emgu.CV.Features2D.ImageFeature The Image feature from the observed image
k int The number of neighbors to find
emax int For k-d tree only: the maximum number of leaves to visit.
return MatchedImageFeature[]

ReleaseManagedResources() protected method

Release the memory assocaited with this Image Tracker
protected ReleaseManagedResources ( ) : void
return void

VoteForSizeAndOrientation() public static method

Eliminate the matched features whose scale and rotation do not aggree with the majority's scale and rotation.
public static VoteForSizeAndOrientation ( MatchedImageFeature matchedFeatures, double scaleIncrement, int rotationBins ) : MatchedImageFeature[]
matchedFeatures MatchedImageFeature The matched feature that will be participated in the voting. For each matchedFeatures, only the zero indexed ModelFeature will be considered.
scaleIncrement double This determins the different in scale for neighbour hood bins, a good value might be 1.5 (which means matched features in bin i+1 is scaled 1.5 times larger than matched features in bin i
rotationBins int The numbers of bins for rotation, a good value might be 20 (which means each bin covers 18 degree)
return MatchedImageFeature[]

VoteForUniqueness() public static method

Filter the matched Features, such that if a match is not unique, it is rejected.
public static VoteForUniqueness ( MatchedImageFeature matchedFeatures, double uniquenessThreshold ) : MatchedImageFeature[]
matchedFeatures MatchedImageFeature The Matched Image features, each of them has the model feature sorted by distance. (e.g. SortMatchedFeaturesByDistance )
uniquenessThreshold double The distance different ratio which a match is consider unique, a good number will be 0.8
return MatchedImageFeature[]