Пример #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);
        }
Пример #2
0
        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)));
        }
Пример #3
0
        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)));
        }
        /// <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);
        }
Пример #5
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);
        }
Пример #6
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);
        }
Пример #7
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-точек
            }
        }
Пример #8
0
        protected override IImage HandleCore(IImage src)
        {
            Bitmap bmpSrc = src.ToBitmap();

            return(new BitmapWrapper(m_filter.Apply(src.ToBitmap())));
        }