private void mnu_Vision_MatchShapes_Click(object sender, EventArgs e)
        {
            RotatedRect      res;
            dlgMatchTemplate dlg = new dlgMatchTemplate();

            if (runVisionCommand(dlg, true))
            {
                overlayShapes.Clear();
                double v = dlg.getResult(out res);
                overlayShapes[0] = convertPointArray(res.Points());
                refreshOverlayListview();
                listOverlay.Items[0].SubItems[2].Text = v.ToString("0.000");
            }
        }
        private void mnu_Vision_MatchTemplate_Click(object sender, EventArgs e)
        {
            RotatedRect      res;
            dlgMatchTemplate dlg = new dlgMatchTemplate();

            if (runVisionCommand(dlg, true))
            {
                overlayShapes.Clear();
                double v = dlg.getResult(out res);
                overlayShapes[0] = convertPointArray(res.Points());
                refreshOverlayListview();
                listOverlay.Items[0].SubItems[2].Text = v.ToString("0.000");
                txtElapse.Text = string.Format("test elapse : {0} milliseconds.", (int)dlg.elapsedMilliseconds);
            }
        }