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