public void MatchTest2()
{
var imgOld = Accord.Imaging.Image.Clone(Properties.Resources.old);
var imgNew = Accord.Imaging.Image.Clone(Properties.Resources._new);
FastRetinaKeypointDetector freak = new FastRetinaKeypointDetector();
var keyPoints1 = freak.ProcessImage(imgOld).ToArray();
var keyPoints2 = freak.ProcessImage(imgNew).ToArray();
var matcher = new KNearestNeighborMatching<byte[]>(5, new Hamming());
{ // direct
IntPoint[][] matches = matcher.Match(keyPoints1, keyPoints2);
Assert.AreEqual(2, matches.Length);
Assert.AreEqual(1, matches[0].Length);
Assert.AreEqual(1, matches[1].Length);
}
{ // reverse
IntPoint[][] matches = matcher.Match(keyPoints2, keyPoints1);
Assert.AreEqual(2, matches.Length);
Assert.AreEqual(1, matches[0].Length);
Assert.AreEqual(1, matches[1].Length);
}
}