Beispiel #1
0
        private void ApplySettingValue()
        {
            CogBarCodeIDResult _CogBarCodeIDResult  = new CogBarCodeIDResult();
            CogBarCodeIDAlgo   _CogBarCodeIDAlgoRcp = new CogBarCodeIDAlgo();

            _CogBarCodeIDAlgoRcp.Symbology = comboBoxSymbology.Text;
            _CogBarCodeIDAlgoRcp.FindCount = Convert.ToInt32(numUpDownNumtoFind.Value);

            var _ApplyBarCodeIDInspValueEvent = ApplyBarCodeIDInspValueEvent;

            if (_ApplyBarCodeIDInspValueEvent != null)
            {
                _ApplyBarCodeIDInspValueEvent(_CogBarCodeIDAlgoRcp, ref _CogBarCodeIDResult);
            }
        }
Beispiel #2
0
        private void ApplyBarCodeIDInspValueFunction(CogBarCodeIDAlgo _CogBarCodeIDAlgo, ref CogBarCodeIDResult _CogBarCodeIDResult)
        {
            if (eTeachStep.ALGO_SET != CurrentTeachStep)
            {
                MessageBox.Show("Not select \"Algorithm Set\" button"); return;
            }
            AlgorithmAreaDisplayRefresh();

            bool _Result = InspIDProcess.Run(InspectionImage, AlgoRegionRectangle, _CogBarCodeIDAlgo, ref _CogBarCodeIDResult);

            CogPolygon _Polygon = new CogPolygon();

            if (_CogBarCodeIDResult != null)
            {
                for (int iLoopCount = 0; iLoopCount < _CogBarCodeIDResult.IDCount; iLoopCount++)
                {
                    _Polygon.SetVertices(_CogBarCodeIDResult.IDPolygon[iLoopCount].GetVertices());
                    kpTeachDisplay.DrawStaticShape(_Polygon, "BarCodeID" + iLoopCount + "_Polygon", CogColorConstants.Green);

                    string _ResultIDName = string.Format("ID = {0}", _CogBarCodeIDResult.IDResult);
                    kpTeachDisplay.DrawText(_ResultIDName, _CogBarCodeIDResult.IDCenterX[iLoopCount], _CogBarCodeIDResult.IDCenterY[iLoopCount] + 30, CogColorConstants.Green, 8, CogGraphicLabelAlignmentConstants.BaselineCenter);
                }
            }
        }
Beispiel #3
0
        public bool Run(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogBarCodeIDAlgo _CogBarCodeIDAlgo, ref CogBarCodeIDResult _CogBarcodeIDResult)
        {
            bool _Result = true;

            SetIDMode(_CogBarCodeIDAlgo);

            if (true == Inspection(_SrcImage, _InspRegion))
            {
                GetResult();
            }

            //결과가 없을 시 영상을 180 회전하여 검사한다.
            if (IDResults.Count == 0)
            {
                Inspection(_SrcImage, _InspRegion, true);
                GetResult();
            }

            if (IDResults != null && IDResults.Count > 0)
            {
                _CogBarcodeIDResult.IsGood = true;
            }
            else
            {
                _CogBarcodeIDResult.IsGood = false;
            }

            if (!_CogBarcodeIDResult.IsGood)
            {
                CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.INFO, " - Reading Fail!!", CLogManager.LOG_LEVEL.MID);
                _CogBarcodeIDResult.IDResult  = new string[1];
                _CogBarcodeIDResult.IDCenterX = new double[1];
                _CogBarcodeIDResult.IDCenterY = new double[1];
                _CogBarcodeIDResult.IDAngle   = new double[1];

                _CogBarcodeIDResult.IDCount      = 0;
                _CogBarcodeIDResult.IDCenterX[0] = 0.0;
                _CogBarcodeIDResult.IDCenterY[0] = 0.0;
                _CogBarcodeIDResult.NgType       = eNgType.ID;
            }
            else
            {
                CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.INFO, " - Reading Complete", CLogManager.LOG_LEVEL.MID);
                _CogBarcodeIDResult.IDCount   = IDResults.Count;
                _CogBarcodeIDResult.IDResult  = new string[IDResults.Count];
                _CogBarcodeIDResult.IDCenterX = new double[IDResults.Count];
                _CogBarcodeIDResult.IDCenterY = new double[IDResults.Count];
                _CogBarcodeIDResult.IDAngle   = new double[IDResults.Count];
                _CogBarcodeIDResult.IDPolygon = new CogPolygon[IDResults.Count];

                CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.INFO, " - Reading Count : " + IDResults.Count.ToString(), CLogManager.LOG_LEVEL.MID);
                for (int iLoopCount = 0; iLoopCount < IDResults.Count; iLoopCount++)
                {
                    _CogBarcodeIDResult.IDResult[iLoopCount]  = IDResults[iLoopCount].DecodedData.DecodedString.ToString();
                    _CogBarcodeIDResult.IDCenterX[iLoopCount] = IDResults[iLoopCount].CenterX;
                    _CogBarcodeIDResult.IDCenterY[iLoopCount] = IDResults[iLoopCount].CenterY;
                    _CogBarcodeIDResult.IDAngle[iLoopCount]   = IDResults[iLoopCount].Angle;
                    _CogBarcodeIDResult.IDPolygon[iLoopCount] = IDResults[iLoopCount].BoundsPolygon;

                    CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.INFO, " - Reading Code : " + IDResults[iLoopCount].DecodedData.DecodedString.ToString(), CLogManager.LOG_LEVEL.MID);
                }

                if (IDResults.Count != _CogBarCodeIDAlgo.FindCount)
                {
                    _CogBarcodeIDResult.IsGood = false;
                }
            }

            CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.INFO, " - Result : " + _CogBarcodeIDResult.IsGood.ToString(), CLogManager.LOG_LEVEL.MID);
            return(_Result);
        }