private void btnFind_Click(object sender, EventArgs e) { CogAutoPatternResult _CogAutoPatternResult = new CogAutoPatternResult(); CogAutoPatternAlgo _CogAutoPatternAlgoRcp = new CogAutoPatternAlgo(); _CogAutoPatternAlgoRcp.MatchingScore = Convert.ToDouble(numericUpDownFindScore.Value); _CogAutoPatternAlgoRcp.MatchingCount = 1; _CogAutoPatternAlgoRcp.ReferenceInfoList = new References(); for (int iLoopCount = 0; iLoopCount < CogAutoPatternAlgoRcp.ReferenceInfoList.Count; ++iLoopCount) { ReferenceInformation _ReferInfo = new ReferenceInformation(); _ReferInfo = CogAutoPatternAlgoRcp.ReferenceInfoList[iLoopCount]; _CogAutoPatternAlgoRcp.ReferenceInfoList.Add(_ReferInfo); } var _ApplyAutoPatternFindValueEvent = ApplyAutoPatternFindValueEvent; _ApplyAutoPatternFindValueEvent?.Invoke(_CogAutoPatternAlgoRcp, ref _CogAutoPatternResult); }
//LDH, 2018.11.07, Pattern Find. 검사할 때 단순 Pattern 검색용으로 사용 public bool Run(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogAutoPatternAlgo _CogAutoPatternAlgo, ref CogAutoPatternResult _CogAutoPatternResult) { bool _Result = false; return(_Result); }
private void ApplyAutoPatternFindValueFunction(CogAutoPatternAlgo _CogAutoPatternAlgo, ref CogAutoPatternResult _CogAutoPatternResult) { if (eTeachStep.ALGO_SET != CurrentTeachStep) { MessageBox.Show("Not select \"Algorithm Set\" button"); return; } AlgorithmAreaDisplayRefresh(); bool _Result = InspAutoPatternProcess.Run(InspectionImage, AlgoRegionRectangle, _CogAutoPatternAlgo, ref _CogAutoPatternResult); if (_CogAutoPatternAlgo.ReferenceInfoList.Count != 0) { CogRectangle _PatternRect = new CogRectangle(); _PatternRect.SetCenterWidthHeight(_CogAutoPatternResult.CenterX, _CogAutoPatternResult.CenterY, _CogAutoPatternResult.Width, _CogAutoPatternResult.Height); kpTeachDisplay.DrawStaticShape(_PatternRect, "AutoPatternRect" + 1, CogColorConstants.Green); CogPointMarker _Point = new CogPointMarker(); _Point.SetCenterRotationSize(_CogAutoPatternResult.OriginPointX, _CogAutoPatternResult.OriginPointY, 0, 2); kpTeachDisplay.DrawStaticShape(_Point, "AutoPatternOrigin" + 1, CogColorConstants.Green, 12); string _MatchingName = string.Format($"Rate = {_CogAutoPatternResult.Score:F2}, X = {_CogAutoPatternResult.OriginPointX:F2}, Y = {_CogAutoPatternResult.OriginPointY:F2}"); kpTeachDisplay.DrawText(_MatchingName, _CogAutoPatternResult.OriginPointX, _CogAutoPatternResult.OriginPointY + 30, CogColorConstants.Green, 10, CogGraphicLabelAlignmentConstants.BaselineCenter); } }
//LDH, 2108.11.07, Auto Pattern Algo public bool AutoPatternFind(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogAutoPatternAlgo _CogAutoPatternAlgo, ref CogAutoPatternResult _CogAutoPatternResult) { bool _Result = false; //ㅋ태챠퍼ㅐ젇라ㅓㅣㅏ ㅁ~~~ if (Inspection(_SrcImage, _InspRegion, _CogAutoPatternAlgo.ReferenceInfoList[0].Reference) == false) { return(_Result); } Run(_SrcImage, _InspRegion, _CogAutoPatternAlgo, ref _CogAutoPatternResult); return(_Result); }