Esempio n. 1
0
        private void btnProcess_Click(object sender, EventArgs e)
        {
            switch (lbMethods.SelectedIndex)
            {
            case (int)Methods.none:
                break;

            case (int)Methods.Susan:
                SusanCornerProperties sp = ControlPanel.Controls[0] as SusanCornerProperties;

                processing = new FrmProcessing("Conducting Susan Edge Detection");
                processing.Show();
                Log("Conducting Susan Edge Detection");
                SetStatus("Please wait for edge detection");
                Susan s = new Susan(CurrentImage);
                s.ImageComplete += s_ImageComplete;
                Task t = new Task(() => s.GetCorners(sp.DifferenceThreshold, sp.GeometricalThreshold));
                t.Start();

                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        private void SusanCornerDetection()
        {
            swSusan.Reset();             // Used for timing functions. (good for testing changes in optimisation)
            swSusan.Start();
            SusanCornerProperties sp = ControlPanel.Controls[0] as SusanCornerProperties;

            processing = new FrmProcessing("Conducting Susan Corner Detection");
            processing.Show();
            Log("Conducting Susan Corner Detection");
            SetStatus("Please wait for corner detection");
            Susan s = new Susan(CurrentImage);

            s.ImageComplete += s_ImageComplete;

            Task st = new Task(() => s.GetCorners(sp.DifferenceThreshold, sp.GeometricalThreshold));

            st.Start();
        }
Esempio n. 3
0
        private void MoravecCornerDetection()
        {
            swMoravec.Reset();             // Used for timing functions. (good for testing changes in optimisation)
            swMoravec.Start();
            MoravecCornerProperties mp = ControlPanel.Controls[0] as MoravecCornerProperties;

            processing = new FrmProcessing("Conducting Moravec Corner Detection");
            processing.Show();
            Log("Conducting Moravec Corner Detection");
            SetStatus("Please wait for corner detection");
            Moravec m = new Moravec(CurrentImage);

            m.ImageComplete += m_ImageComplete;
            m.LogMessage    += m_LogMessage;
            Task mt = new Task(() => m.GetCorners(mp.Threshold, mp.Window));

            mt.Start();
        }
Esempio n. 4
0
        private void HarrisCornerDetection()
        {
            swHarris.Reset();             // Used for timing functions. (good for testing changes in optimisation)
            swHarris.Start();
            HarrisCornerProperties hp = ControlPanel.Controls[0] as HarrisCornerProperties;

            processing = new FrmProcessing("Conducting Harris Corner Detection");
            processing.Show();
            Log("Conducting Harris Corner Detection");
            SetStatus("Please wait for corner detection");
            Harris h = new Harris(CurrentImage);

            h.ImageComplete += h_ImageComplete;

            Task ht = new Task(() => h.GetCorners(hp.Threshold, hp.Sigma));

            ht.Start();
        }
Esempio n. 5
0
        private void FASTCornerDetection()
        {
            swFast.Reset();             // Used for timing functions. (good for testing changes in optimisation)
            swFast.Start();
            FASTCornerProperties fp = ControlPanel.Controls[0] as FASTCornerProperties;

            processing = new FrmProcessing("Conducting FAST Corner Detection");
            processing.Show();
            Log("Conducting FAST Corner Detection");
            SetStatus("Please wait for corner detection");
            FAST f = new FAST(CurrentImage);

            f.ImageComplete += f_ImageComplete;

            Task ht = new Task(() => f.GetCorners(fp.Threshold, fp.Supress));

            ht.Start();
        }
        private void btnProcess_Click(object sender, EventArgs e)
        {
            switch (lbMethods.SelectedIndex)
            {
            case (int)Methods.none:
                break;

            case (int)Methods.Susan:
                ssw = new Stopwatch();                         // Used for timing functions. (good for testing changes in optimisation)
                SusanCornerProperties sp = ControlPanel.Controls[0] as SusanCornerProperties;
                processing = new FrmProcessing("Conducting Susan Corner Detection");
                processing.Show();
                Log("Conducting Susan Corner Detection");
                SetStatus("Please wait for corner detection");
                Susan s = new Susan(CurrentImage);
                s.ImageComplete += s_ImageComplete;
                Task st = new Task(() => s.GetCorners(sp.DifferenceThreshold, sp.GeometricalThreshold));
                ssw.Start();
                st.Start();
                break;

            case (int)Methods.Moravec:
                smw = new Stopwatch();                         // Used for timing functions. (good for testing changes in optimisation)
                MoravecCornerProperties mp = ControlPanel.Controls[0] as MoravecCornerProperties;
                processing = new FrmProcessing("Conducting Moravec Corner Detection");
                processing.Show();
                Log("Conducting Moravec Corner Detection");
                SetStatus("Please wait for corner detection");
                Moravec m = new Moravec(CurrentImage);
                m.ImageComplete += m_ImageComplete;
                m.LogMessage    += m_LogMessage;
                Task mt = new Task(() => m.GetCorners(mp.Threshold, mp.Window));
                smw.Start();
                mt.Start();
                break;

            default:
                break;
            }
        }