Beispiel #1
0
 private void перестроитьToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         infoexcel.Text = "Перестройка файла";
         var Rsize    = GrayImg.ResizeImg((int)valueX.Value, (int)valueY.Value);
         var imgCanny = GrayImg.ApplyCanny(100, 150, Rsize.Item1, Rsize.Item2, img);
         FindContours(imgCanny);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + " Попытка перестроить нулевое изображение");
     }
 }
Beispiel #2
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-точек
            }
        }
Beispiel #3
0
        //---------------------------------------Модуль для обработки меню---------------------------------------//

        private void открытьИзображениеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog(); // диалог открытия изображения

            try
            {
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    Image <Bgr, byte> _imgInput = new Image <Bgr, byte>(ofd.FileName);// инициализация обькта из переменной ofd
                    infosize.Text = _imgInput.Width.ToString() + "*" + _imgInput.Height.ToString() + "px";
                    var imgCanny = GrayImg.ApplyCanny(100, 150, _imgInput.Width, _imgInput.Height, _imgInput);
                    img2 = imgCanny;
                    var Picture = GrayImg.ResizeImg(pictureBox1.Height, pictureBox1.Width);// подгонка для первоначального показа
                    Image <Bgr, byte> PictureFirst = _imgInput.Resize(Picture.Item2, Picture.Item1, Inter.Linear);
                    pictureBox1.Image = PictureFirst.Bitmap;
                    FindContours(imgCanny);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }