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; } }
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; }