/// <summary>
        ///   Creates a new object that is a copy of the current instance.
        /// </summary>
        ///
        /// <returns>
        ///   A new object that is a copy of this instance.
        /// </returns>
        ///
        public object Clone()
        {
            var clone = new SpeededUpRobustFeaturesDetector(threshold, octaves, initial);

            clone.computeOrientation = computeOrientation;
            clone.featureType        = featureType;
            clone.initial            = initial;
            clone.octaves            = octaves;
            // Do not copy - gets recreated when needed
            // if (descriptor != null)
            //    clone.descriptor = (SpeededUpRobustFeaturesDescriptor)descriptor.Clone();
            //    clone.responses = (ResponseLayerCollection)responses.Clone();
            //    clone.integral = (IntegralImage)integral.Clone();
            clone.threshold = threshold;
            return(clone);
        }
Beispiel #2
0
        private void surf()
        {
            var surf = new Accord.Imaging.SpeededUpRobustFeaturesDetector();

            surfPoints1 = surf.ProcessImage(img1).ToArray();
            surfPoints2 = surf.ProcessImage(img2).ToArray();

            // Show the marked points in the original images
            Bitmap img1mark = new FeaturesMarker(surfPoints1).Apply(img1);
            Bitmap img2mark = new FeaturesMarker(surfPoints2).Apply(img2);

            // Concatenate the two images together in a single image (just to show on screen)
            Concatenate concatenate = new Concatenate(img1mark);

            pictureBox1.Image = concatenate.Apply(img2mark);
        }