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();
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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);
        }