Exemple #1
0
 /// <summary>
 /// Eliminate the matched features whose scale and rotation do not aggree with the majority's scale and rotation.
 /// </summary>
 /// <param name="rotationBins">The numbers of bins for rotation, a good value might be 20 (which means each bin covers 18 degree)</param>
 /// <param name="scaleIncrement">This determines the different in scale for neighbor 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</param>
 /// <param name="modelKeyPoints">The keypoints from the model image</param>
 /// <param name="observedKeyPoints">The keypoints from the observed image</param>
 /// <param name="mask">This is both input and output. This matrix indicates which row is valid for the matches.</param>
 /// <param name="matches">Matches. Each matches[i] is k or less matches for the same query descriptor.</param>
 /// <returns> The number of non-zero elements in the resulting mask</returns>
 public static int VoteForSizeAndOrientation(
     VectorOfKeyPoint modelKeyPoints,
     VectorOfKeyPoint observedKeyPoints,
     VectorOfVectorOfDMatch matches,
     Mat mask,
     double scaleIncrement,
     int rotationBins)
 {
     return(Features2DInvoke.voteForSizeAndOrientation(modelKeyPoints, observedKeyPoints, matches, mask, scaleIncrement,
                                                       rotationBins));
 }