コード例 #1
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();
        }
コード例 #2
0
        private void MoravecCornerDetection()
        {
            swMoravec.Reset(); // Used for timing functions. (good for testing changes in optimisation)
            swMoravec.Start();


            if (ModificationPropertiesLog != null)
            {
                ModificationPropertiesLog("Conducting Moravec 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();
        }
コード例 #3
0
        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;
            }
        }