Beispiel #1
0
        private void SetGridViewLeadAlignmentValue(CogLeadFormResult _Result)
        {
            if (_Result == null || _Result.AlignResultDataList == null)
            {
                return;
            }
            InitializeQuickGridView(_Result.AlignResultDataList.Count);

            for (int iLoopCount = 0; iLoopCount < _Result.AlignResultDataList.Count; ++iLoopCount)
            {
                double _RealCenterX = _Result.AlignResultDataList[iLoopCount].CenterX * ResolutionX;
                double _RealCenterY = _Result.AlignResultDataList[iLoopCount].CenterY * ResolutionY;

                QuickGridViewLeadFormAlignPitch[1, iLoopCount].Value = _RealCenterX.ToString("F4");
                QuickGridViewLeadFormAlignPitch[2, iLoopCount].Value = _RealCenterY.ToString("F4");

                if (iLoopCount % 2 == 0)
                {
                    QuickGridViewLeadFormAlignPitch[1, iLoopCount].Style.BackColor = Color.DarkCyan;
                    QuickGridViewLeadFormAlignPitch[2, iLoopCount].Style.BackColor = Color.DarkCyan;
                }
                else
                {
                    QuickGridViewLeadFormAlignPitch[1, iLoopCount].Style.BackColor = Color.CadetBlue;
                    QuickGridViewLeadFormAlignPitch[2, iLoopCount].Style.BackColor = Color.CadetBlue;
                }
            }
        }
Beispiel #2
0
        private void btnLeadFormAlignAreaCheck_Click(object sender, EventArgs e)
        {
            CogRectangle _InspRegion = new CogRectangle();

            _InspRegion.SetCenterWidthHeight(LeadFormAlignArea.CenterX, LeadFormAlignArea.CenterY, LeadFormAlignArea.Width, LeadFormAlignArea.Height);

            CogLeadFormResult _CogLeadFormResult = new CogLeadFormResult();
            CogLeadFormAlgo   _CogLeadFormAlgo   = new CogLeadFormAlgo(ResolutionX, ResolutionY);

            _CogLeadFormAlgo.AlignThreshold = Convert.ToInt32(graLabelLeadFormAlignThresholdValue.Text);
            _CogLeadFormAlgo.AlignSkewSpec  = Convert.ToDouble(numUpDownAlignSkewSpec.Value);
            _CogLeadFormAlgo.AlignPitchSpec = Convert.ToDouble(numUpDownLeadFormAlignPitchSpec.Value);

            var _ApplyLeadFormValueEvent = ApplyLeadFormValueEvent;

            _ApplyLeadFormValueEvent?.Invoke(CogLeadFormAlgo.eAlgoMode.LEAD_ALIGN, _InspRegion, _CogLeadFormAlgo, ref _CogLeadFormResult);

            //LJH 2019.07.30 Lead Count를 잘 못 입력하지 않도록 수동으로 입력하게 수정\
            //SaveAlgo에서 확인 하도록 수정
            numUpDownLeadCount.Value = Convert.ToDecimal(_CogLeadFormResult.LeadCount);

            SetLeadAlignmentValue(_CogLeadFormResult);
            SetGridViewLeadAlignmentValue(LeadPositionArrayXNew, LeadPositionArrayYNew);
            //SetGridViewLeadAlignmentValue(_CogLeadFormResult);
        }
Beispiel #3
0
 private void SetLeadAlignmentValue(CogLeadFormResult _Result)
 {
     for (int iLoopCount = 0; iLoopCount < _Result.AlignResultDataList.Count; ++iLoopCount)
     {
         LeadPositionArrayXNew[iLoopCount] = _Result.AlignResultDataList[iLoopCount].CenterX * ResolutionX;
         LeadPositionArrayYNew[iLoopCount] = _Result.AlignResultDataList[iLoopCount].CenterY * ResolutionY;
     }
 }
Beispiel #4
0
 public void ClearLeadFormResult(int _LeadCount)
 {
     LeadFormResult = new CogLeadFormResult();
     LeadFormResult.EachLeadStatusArray = new EachLeadStatus[_LeadCount];
     for (int iLoopCount = 0; iLoopCount < _LeadCount; ++iLoopCount)
     {
         LeadFormResult.EachLeadStatusArray[iLoopCount] = new EachLeadStatus();
     }
 }
Beispiel #5
0
        public bool Run(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogLeadFormAlgo _CogLeadFormAlgo, ref CogLeadFormResult _CogLeadFormResult, int _NgNumber = 0)
        {
            bool _Result = false;

            ClearLeadFormResult(_CogLeadFormAlgo.LeadCount);

            CogRectangle _LeadAlignArea = new CogRectangle();

            _LeadAlignArea.SetCenterWidthHeight(_CogLeadFormAlgo.AlignArea.CenterX, _CogLeadFormAlgo.AlignArea.CenterY, _CogLeadFormAlgo.AlignArea.Width, _CogLeadFormAlgo.AlignArea.Height);

            do
            {
                if (false == LeadAlignSE(_SrcImage, _LeadAlignArea, _CogLeadFormAlgo))
                {
                    break;
                }

                _Result = true;
            } while (false);

            _CogLeadFormResult = LeadFormResult;

            return(_Result);
        }