Ejemplo n.º 1
0
        private void DrawRectBtn_Click(object sender, EventArgs e)
        {
            if (Img == null)
            {
                MessageBox.Show("请先加载一张图片");
                return;
            }
            DrawRectBtn.Enabled = false;
            view.DrawRect1(out row1, out col1, out row2, out col2);
            txtSearchX.Text      = col1.ToString();
            txtSearchY.Text      = row1.ToString();
            txtSearchWidth.Text  = (col2 - col1).ToString();
            txtSearchHeight.Text = (row2 - row1).ToString();
            DrawRectBtn.Enabled  = true;
            HObject Rect, RectContour;

            HOperatorSet.GenRectangle1(out Rect, row1, col1, row2, col2);
            HOperatorSet.GenContourRegionXld(Rect, out RectContour, "border");
            view.Refresh();
            view.AddViewImage(Img);
            view.AddViewObject(RectContour);
            view.Repaint();
        }
Ejemplo n.º 2
0
        private void RectTeachBtn_Click(object sender, EventArgs e)
        {
            int SelectIndex = CaliPtModelCbx.SelectedIndex;

            if (GrabedImg == null || !GrabedImg.IsInitialized())
            {
                MessageBox.Show("标定前,请先采集图片");
                return;
            }
            System.Threading.Tasks.Task.Factory.StartNew(new Action(() => {
                try{
                    int row1 = 0, col1 = 0, row2, col2;
                    if (SelectIndex == 0)
                    {
                        TeachCaliPara.ListRectRegion = new List <RectangleF>();
                        for (int i = 0; i < 4; i++)
                        {
                            view1.SetString(100, 100, "red", "左击拖动绘制矩形,右击释放");
                            view1.SetString(100, 150, "red", "绘制第" + i.ToString() + "矩形");
                            view1.DrawRect1(out row1, out col1, out row2, out col2);
                            HObject Rect, RectContour;
                            HOperatorSet.GenRectangle1(out Rect, row1, col1, row2, col2);
                            HOperatorSet.GenContourRegionXld(Rect, out RectContour, "border");
                            view1.Refresh();
                            view1.AddViewImage(GrabedImg);
                            view1.AddViewObject(RectContour);
                            view1.Repaint();
                            RectangleF rect = new RectangleF(col1, row1, col2 - col1, row2 - row1);
                            TeachCaliPara.ListRectRegion.Add(rect);
                        }
                    }
                }
                catch
                { }
            }));
        }