Esempio n. 1
0
        void Display(int state, HObject obj = null)
        {
            if (DisplayControl.Count == 0)
            {
                return;
            }

            switch (state)
            {
            case 0:
                foreach (var v in DisplayControl)
                {
                    v.HalconWindow.SetColor("blue");
                    v.HalconWindow.SetDraw("margin");
                    v.HalconWindow.DispObj(obj);
                }

                break;

            case 1:
                foreach (var v in DisplayControl)
                {
                    v.HalconWindow.SetColor("blue");
                    v.HalconWindow.SetDraw("margin");
                    v.HalconWindow.DispObj(SearchRegion);
                }
                break;

            case 2:
                foreach (var v in DisplayControl)
                {
                    v.HalconWindow.SetColor("green");
                    v.HalconWindow.SetDraw("margin");
                    v.HalconWindow.DispObj(DataCodeContour);
                }
                break;

            case 3:
                foreach (var v in DisplayControl)
                {
                    InternalMethod.disp_message(v.HalconWindow, DataCodeString, "image", 20, 20, "green", "false");
                }
                break;

            case 4:
                foreach (var v in DisplayControl)
                {
                    InternalMethod.disp_message(v.HalconWindow, "没有找到", "image", 20, 20, "red", "false");
                }
                break;
            }
        }
Esempio n. 2
0
        private void TrainCodeDataPro()
        {
            TrainCodeDataState = true;

            for (int i = 0; i < imgNameList.Count && TrainCodeDataState; i++)
            {
                try
                {
                    img.ReadImage(imgNameList[i]);
                    InternalMethod.KeepAspectRatio(hWindowControl1, img);
                    hWindowControl1.HalconWindow.DispObj(img);
                    this.Invoke(new Action(() =>
                    {
                        this.Text = imgNameList[i];
                        toolStripProgressBar1.PerformStep();
                    }));
                }
                catch
                {
                    continue;
                }

                if (TrainCodeDataState)
                {
                    bool st = _Operate.FindDataCode(img, true);

                    hWindowControl1.HalconWindow.SetColor("blue");
                    hWindowControl1.HalconWindow.SetDraw("margin");
                    hWindowControl1.HalconWindow.DispObj(_Operate.SearchRegion);
                    hWindowControl1.HalconWindow.SetColor("green");
                    hWindowControl1.HalconWindow.DispObj(_Operate.DataCodeContour);
                    InternalMethod.disp_message(hWindowControl1.HalconWindow, st ? _Operate.DataCodeString : "没有找到", "image", 20, 20, st ? "green" : "red", "false");

                    Thread.Sleep(500);
                }
                else
                {
                    return;
                }
            }

            if (this.Created && TrainCodeDataState == true)
            {
                MessageBox.Show("训练完成");
            }

            TrainCodeDataState = false;
        }