public void RansacLineConstructorTest2() { Accord.Math.Random.Generator.Seed = 0; Bitmap image = Accord.Imaging.Image.Clone(Resources.noise_line); //Accord.Controls.ImageBox.Show(image); var detector = new SusanCornersDetector(); List<IntPoint> cloud = detector.ProcessImage(image); Assert.AreEqual(211, cloud.Count); Bitmap marks = new PointsMarker(cloud, Color.Pink).Apply(image); //Accord.Controls.ImageBox.Show(marks); RansacLine ransac = new RansacLine(5, 1e-10); Line line = ransac.Estimate(cloud); Assert.AreEqual(0.501134932f, line.Intercept, 1e-5); Assert.AreEqual(-0.865369201f, line.Slope, 1e-5); //var result = new LineMarker(line).Apply(image); //Accord.Controls.ImageBox.Show(result); }
public List <Rg.Point3d> GetSusanCorners() { Ai.SusanCornersDetector corners = new Ai.SusanCornersDetector(); if (Threshold >= 0) { corners.DifferenceThreshold = Threshold; } if (Value >= 0) { corners.GeometricalThreshold = (int)Value; } return(corners.ProcessImage(bitmap).ToRhinoPoints(bitmap.Height)); }