Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            // Open a image
            Bitmap lenna = Properties.Resources.lena512;

            double sigma     = (double)numSigma.Value;
            float  k         = (float)numK.Value;
            float  threshold = (float)numThreshold.Value;

            // Create a new Harris Corners Detector using the given parameters
            HarrisCornersDetector harris = new HarrisCornersDetector(k)
            {
                Measure = checkBox1.Checked ?
                          HarrisCornerMeasure.Harris : HarrisCornerMeasure.Noble,

                Threshold = threshold,
                Sigma     = sigma
            };

            // Create a new AForge's Corner Marker Filter
            CornersMarker corners = new CornersMarker(harris, Color.White);

            // Apply the filter and display it on a picturebox
            pictureBox1.Image = corners.Apply(lenna);
        }
        public static IEnumerable <System.Drawing.Point> GetCornersMoravec(this Bitmap iBitmap)
        {
            MoravecCornersDetector mcd                 = new MoravecCornersDetector();
            List <IntPoint>        corner2s            = mcd.ProcessImage(iBitmap);
            CornersMarker          filterCornersMarker = new CornersMarker(mcd, Color.Red);
            var result2 = filterCornersMarker.Apply(iBitmap);

            return(corner2s.Select(x => new System.Drawing.Point(x.X, x.Y)));
        }
        public static IEnumerable <System.Drawing.Point> GetCornersSusan(this Bitmap iBitmap)
        {
            SusanCornersDetector scd                 = new SusanCornersDetector();
            List <IntPoint>      corners             = scd.ProcessImage(iBitmap);
            CornersMarker        filterCornersMarker = new CornersMarker(scd, Color.Red);
            var result = filterCornersMarker.Apply(iBitmap);

            return(corners.Select(x => new System.Drawing.Point(x.X, x.Y)));
        }
        // Constructor
        public MoravecCornersDetectorForm( )
        {
            InitializeComponent( );

            filter = new CornersMarker(detector);
            filterPreview.Filter = filter;

            // default filtering settings
            thresholdTrackBar.Value       = detector.Threshold;
            windowSizeCombo.SelectedIndex = 0;
        }
Exemple #5
0
        // Constructor
        public SusanCornersDetectorForm( )
        {
            InitializeComponent( );

            filter = new CornersMarker(detector);
            filterPreview.Filter = filter;

            // default filtering settings
            diffThresholdTrackBar.Value        = detector.DifferenceThreshold;
            geometricalThresholdTrackBar.Value = detector.GeometricalThreshold;
        }
Exemple #6
0
        public mFigureCorners(System.Drawing.Color MarkColor)
        {
            MarkerColor = MarkColor;

            BitmapType = 0;

            SusanCornersDetector Detector = new SusanCornersDetector();

            Effect = new CornersMarker(Detector, MarkerColor);

            Sequence.Clear();
            Sequence.Add(Effect);
        }
        /// <summary>
        /// Поиск клювых точек и получение изображения с маркерами
        /// </summary>
        /// <param name="sigma">Сигма</param>
        /// <param name="k">k</param>
        /// <param name="threshold">Граница</param>
        /// <param name="img">Изображение</param>
        /// <param name="Height">Высота</param>
        /// <param name="Width">Ширина</param>
        /// <returns>Изображение с маркерами</returns>
        public Bitmap KeyPoint(double sigma, float k, float threshold, Bitmap img, int Height, int Width)
        {
            HarrisCornersDetector harris = new HarrisCornersDetector(k)
            {
                Threshold = threshold,
                Sigma     = sigma
            };
            CornersMarker corners    = new CornersMarker(harris, Color.DeepSkyBlue);
            var           CornerRrev = corners.Apply(img);
            var           DemoSize   = ResizeImg(Height, Width);
            var           DemoImg    = new Bitmap(CornerRrev, DemoSize.Item2, DemoSize.Item1);

            return(DemoImg);
        }
Exemple #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            // Open a image
            Bitmap lenna = Fast.Properties.Resources.lena512;

            // Create a new SURF Features Detector using the given parameters
            FastCornersDetector fast = new FastCornersDetector();
            fast.Threshold = (int)numThreshold.Value;
            fast.Suppress = true;

            // Create a new AForge's Corner Marker Filter
            CornersMarker corners = new CornersMarker(fast, Color.White);

            // Apply the filter and display it on a picturebox
            pictureBox1.Image = corners.Apply(lenna);
        }
Exemple #9
0
    // Start is called before the first frame update
    void Start()
    {
        //TestImages t = new TestImages("lena");

        Bitmap image = BitmapConversion.Texture2DToBitmap(inputTex);

        FastCornersDetector fast = new FastCornersDetector(20);



        // Create a new AForge's Corner Marker Filter
        CornersMarker corners = new CornersMarker(fast, System.Drawing.Color.White);

        corners.ApplyInPlace(image);
        // Apply the filter and display it on a picturebox
        rawImage.texture = BitmapConversion.BitmapToTexture2D(image);
    }
Exemple #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            // Open a image
            Bitmap lenna = Resources.lena512;

            // Create a new SURF Features Detector using the given parameters
            FastCornersDetector fast = new FastCornersDetector();

            fast.Threshold = (int)numThreshold.Value;
            fast.Suppress  = true;

            // Create a new AForge's Corner Marker Filter
            CornersMarker corners = new CornersMarker(fast, Color.White);

            // Apply the filter and display it on a picturebox
            pictureBox1.Image = corners.Apply(lenna);
        }
Exemple #11
0
        //---------------------------------------Модуль для обработки Accord (ключевых точек)---------------------------------------//

        void CornerFound(params object[] list)
        {
            if (list.Length != 1)
            {
                double sigma     = (double)list[3];
                double k         = (double)list[1];
                int    threshold = (int)list[2];
                // Create a new Harris Corners Detector using the given parameters
                HarrisCornersDetector harris = new HarrisCornersDetector((float)k)
                {
                    Threshold = (float)threshold,
                    Sigma     = sigma
                };
                // Create a new AForge's Corner Marker Filter
                CornersMarker corners = new CornersMarker(harris, Color.White);
                // input.RotateFlip(RotateFlipType.Rotate180FlipX);
                var    OriginCorner = harris.ProcessImage((Bitmap)list[0]);                     // ОРИГИНАЛ
                var    CornerRrev   = corners.Apply((Bitmap)list[0]);
                var    Picture      = GrayImg.ResizeImg(pictureBox1.Height, pictureBox1.Width); // подгонка для первоначального показа
                Bitmap endpick      = new Bitmap(CornerRrev, new Size(Picture.Item2, Picture.Item1));
                pictureBox1.Image = endpick;
                CreateTable(OriginCorner);// построение таблицы key-точек
            }
            else
            {
                double sigma     = (double)numSigma.Value;
                float  k         = (float)numK.Value;
                float  threshold = (float)numThreshold.Value;
                // Create a new Harris Corners Detector using the given parameters
                HarrisCornersDetector harris = new HarrisCornersDetector(k)
                {
                    Threshold = threshold,
                    Sigma     = sigma
                };
                // Create a new AForge's Corner Marker Filter
                CornersMarker corners = new CornersMarker(harris, Color.White);
                // input.RotateFlip(RotateFlipType.Rotate180FlipX);
                var    OriginCorner = harris.ProcessImage((Bitmap)list[0]);                     // ОРИГИНАЛ
                var    CornerRrev   = corners.Apply((Bitmap)list[0]);
                var    Picture      = GrayImg.ResizeImg(pictureBox1.Height, pictureBox1.Width); // подгонка для первоначального показа
                Bitmap endpick      = new Bitmap(CornerRrev, new Size(Picture.Item2, Picture.Item1));
                pictureBox1.Image = endpick;
                CreateTable(OriginCorner);// построение таблицы key-точек
            }
        }
        public mAnalyzeCornersSusan(Bitmap InitialBitmap, Color CornerColor, int DiffThreshold, int GeoThreshold)
        {
            BitmapType = BitmapTypes.None;

            SusanCornersDetector cMethod = new SusanCornersDetector();

            cMethod.DifferenceThreshold  = DiffThreshold;
            cMethod.GeometricalThreshold = GeoThreshold;

            Effect = new CornersMarker(cMethod, CornerColor);

            Effect.Detector = cMethod;


            List <IntPoint> corners = cMethod.ProcessImage(InitialBitmap);

            foreach (IntPoint corner in corners)
            {
                Points.Add(new wPoint(corner.X, InitialBitmap.Height - corner.Y));
            }
        }
Exemple #13
0
        public mAnalyzeCornersMoravec(Bitmap InitialBitmap, Color CornerColor, int DiffThreshold)
        {
            BitmapType = mFilter.BitmapTypes.None;

            MoravecCornersDetector cMethod = new MoravecCornersDetector();

            cMethod.Threshold = DiffThreshold;

            Effect = new CornersMarker(cMethod, CornerColor);

            Effect.Detector = cMethod;


            List <IntPoint> corners = cMethod.ProcessImage(InitialBitmap);

            foreach (IntPoint corner in corners)
            {
                Points.Add(new wPoint(corner.X, InitialBitmap.Height - corner.Y));
            }

            filter = Effect;
        }
 public CornersMarkerProcessor()
 {
     m_detector = new SusanCornersDetector();
     m_filter   = new CornersMarker(m_detector, Color.Red);
 }