private void initialize(HarrisCornerMeasure measure, float k, float threshold, double sigma, int suppression, int size) { this.measure = measure; this.threshold = threshold; this.k = k; this.r = suppression; this.sigma = sigma; this.size = size; createGaussian(); }
/// <summary> /// Harris Corners Detector. /// <para>Accord.NET internal call. Please see: <see cref="Accord.Imaging.HarrisCornersDetector"/> for details.</para> /// </summary> /// <param name="im">Image.</param> /// <param name="measure">Corners measures.</param> /// <param name="threshold">Harris threshold.</param> /// <param name="sigma">Gaussian smoothing sigma.</param> /// <param name="suppression">Non-maximum suppression window radius.</param> /// <returns>Interest point locations.</returns> public static List <IntPoint> HarrisCorners <TDepth>(this Gray <byte>[,] im, HarrisCornerMeasure measure = HarrisCornerMeasure.Harris, float threshold = 20000f, double sigma = 1.2, int suppression = 3) { HarrisCornersDetector harris = new HarrisCornersDetector(measure, threshold, sigma, suppression); List <IntPoint> points; using (var uImg = im.Lock()) { points = harris.ProcessImage(uImg.AsAForgeImage()); } return(points); }
private void initialize(HarrisCornerMeasure measure, float k, float threshold, double sigma, int suppression, int size) { this.measure = measure; this.threshold = threshold; this.k = k; this.r = suppression; this.sigma = sigma; this.size = size; createGaussian(); base.SupportedFormats.UnionWith(new[] { PixelFormat.Format8bppIndexed, PixelFormat.Format24bppRgb, PixelFormat.Format32bppRgb, PixelFormat.Format32bppArgb }); }
private void initialize(HarrisCornerMeasure measure, float k, float threshold, double sigma, int suppression, int size) { this.measure = measure; this.threshold = threshold; this.k = k; this.r = suppression; this.sigma = sigma; this.size = size; createGaussian(); }
/// <summary> /// Initializes a new instance of the <see cref="HarrisCornersDetector"/> class. /// </summary> public HarrisCornersDetector(HarrisCornerMeasure measure) { initialize(measure, k, threshold, sigma, r, size); }
/// <summary> /// Initializes a new instance of the <see cref="HarrisCornersDetector"/> class. /// </summary> public HarrisCornersDetector(HarrisCornerMeasure measure, float threshold, double sigma, int suppression) { initialize(measure, k, threshold, sigma, suppression, size); }
/// <summary> /// Initializes a new instance of the <see cref="HarrisCornersDetector"/> class. /// </summary> public HarrisCornersDetector(HarrisCornerMeasure measure) { initialize(measure, k, threshold, sigma, r, size); }
/// <summary> /// Initializes a new instance of the <see cref="HarrisCornersDetector"/> class. /// </summary> public HarrisCornersDetector(HarrisCornerMeasure measure, float threshold, double sigma, int suppression) { initialize(measure, k, threshold, sigma, suppression, size); }
/// <summary> /// Harris Corners Detector. /// <para>Accord.NET internal call. Please see: <see cref="Accord.Imaging.HarrisCornersDetector"/> for details.</para> /// </summary> /// <typeparam name="TDepth">Channel type.</typeparam> /// <param name="im">Image.</param> /// <param name="measure">Corners measures.</param> /// <param name="threshold">Harris threshold.</param> /// <param name="sigma">Gaussian smoothing sigma.</param> /// <param name="suppression">Non-maximum suppression window radius.</param> /// <returns>Interest point locations.</returns> public static List <IntPoint> HarrisCorners <TDepth>(this Image <Gray, TDepth> im, HarrisCornerMeasure measure = HarrisCornerMeasure.Harris, float threshold = 20000f, double sigma = 1.2, int suppression = 3) where TDepth : struct { HarrisCornersDetector harris = new HarrisCornersDetector(measure, threshold, sigma, suppression); var points = harris.ProcessImage(im.ToAForgeImage(copyAlways: false, failIfCannotCast: true)); return(points); }