public void ProcessImageTest4()
{
var bitmaps = BagOfVisualWordsTest.GetImages();
var surf = new SpeededUpRobustFeaturesDetector();
int current = 0;
foreach (Bitmap img in bitmaps)
{
List<SpeededUpRobustFeaturePoint> expected;
List<SpeededUpRobustFeaturePoint> actual;
// Create OpenSURF detector by Chris Evans
{
// Create Integral Image
OpenSURFcs.IntegralImage iimg = OpenSURFcs.IntegralImage.FromImage(img);
// Extract the interest points
var pts = OpenSURFcs.FastHessian.getIpoints(0.0002f, 5, 2, iimg);
// Describe the interest points
OpenSURFcs.SurfDescriptor.DecribeInterestPoints(pts, false, false, iimg);
expected = new List<SpeededUpRobustFeaturePoint>();
foreach (var p in pts)
expected.Add(new SpeededUpRobustFeaturePoint(p.x, p.y, p.scale,
p.laplacian, p.orientation, p.response));
}
// Create Accord.NET SURF detector (based on OpenSURF by Chris Evans)
{
actual = surf.ProcessImage(img);
}
var img1 = new FeaturesMarker(actual).Apply(img);
var img2 = new FeaturesMarker(expected).Apply(img);
// ImageBox.Show(new Concatenate(img1).Apply(img2), PictureBoxSizeMode.Zoom);
current++;
for (int i = 0; i < expected.Count; i++)
{
var e = expected[i];
var a = actual[i];
Assert.AreEqual(e, a);
}
}
}