C# 클래스 Emgu.CV.Features2D.SURFTracker

상속: DisposableObject
파일 보기 프로젝트 열기: genecyber/PredatorCV

공개 메소드들

메소드 설명
CamShiftTrack ( SURFFeature observedFeatures, MCvBox2D initRegion, Single>.Image priorMask ) : HomographyMatrix

Use camshift to track the feature

Detect ( SURFFeature 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.

GetHomographyMatrixFromMatchedFeatures ( MatchedSURFFeature matchedFeatures ) : HomographyMatrix

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

MatchFeature ( SURFFeature observedFeatures, int k, int emax ) : MatchedSURFFeature[]

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

SURFTracker ( SURFFeature modelFeatures ) : System

Create a SURF tracker, where SURF is matched with flann

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

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

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

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

보호된 메소드들

메소드 설명
DisposeObject ( ) : void

Release unmanaged memory

ReleaseManagedResources ( ) : void

Release the memory assocaited with this SURF Tracker

메소드 상세

CamShiftTrack() 공개 메소드

Use camshift to track the feature
public CamShiftTrack ( SURFFeature observedFeatures, MCvBox2D initRegion, Single>.Image priorMask ) : HomographyMatrix
observedFeatures SURFFeature 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
리턴 HomographyMatrix

Detect() 공개 메소드

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

DisposeObject() 보호된 메소드

Release unmanaged memory
protected DisposeObject ( ) : void
리턴 void

GetHomographyMatrixFromMatchedFeatures() 공개 정적인 메소드

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

MatchFeature() 공개 메소드

Match the SURF feature from the observed image to the features from the model image
public MatchFeature ( SURFFeature observedFeatures, int k, int emax ) : MatchedSURFFeature[]
observedFeatures SURFFeature The SURF 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.
리턴 MatchedSURFFeature[]

ReleaseManagedResources() 보호된 메소드

Release the memory assocaited with this SURF Tracker
protected ReleaseManagedResources ( ) : void
리턴 void

SURFTracker() 공개 메소드

Create a SURF tracker, where SURF is matched with flann
public SURFTracker ( SURFFeature modelFeatures ) : System
modelFeatures SURFFeature The SURF feature from the model image
리턴 System

VoteForSizeAndOrientation() 공개 정적인 메소드

Eliminate the matched features whose scale and rotation do not aggree with the majority's scale and rotation.
public static VoteForSizeAndOrientation ( MatchedSURFFeature matchedFeatures, double scaleIncrement, int rotationBins ) : MatchedSURFFeature[]
matchedFeatures MatchedSURFFeature 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)
리턴 MatchedSURFFeature[]

VoteForUniqueness() 공개 정적인 메소드

Filter the matched Features, such that if a match is not unique, it is rejected.
public static VoteForUniqueness ( MatchedSURFFeature matchedFeatures, double uniquenessThreshold ) : MatchedSURFFeature[]
matchedFeatures MatchedSURFFeature The Matched SURF 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
리턴 MatchedSURFFeature[]