Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        //LDH, 2018.11.07, Pattern Find. 검사할 때 단순 Pattern 검색용으로 사용
        public bool Run(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogAutoPatternAlgo _CogAutoPatternAlgo, ref CogAutoPatternResult _CogAutoPatternResult)
        {
            bool _Result = false;

            return(_Result);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        //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);
        }