예제 #1
0
        //public void DrawFindLineCaliper(CogLineSegment _CogFindLine = null)
        public void DrawFindLineCaliper(CogFindLine _CogFindLine = null)
        {
            ICogRecord           _Record;
            CogGraphicCollection _Region;

            LineCaliperTool.InputImage = (CogImage8Grey)kCogDisplay.Image;
            LineCaliperTool.RunParams  = _CogFindLine;

            _Record         = LineCaliperTool.CreateCurrentRecord();
            InteractiveLine = (CogLineSegment)_Record.SubRecords["InputImage"].SubRecords["ExpectedShapeSegment"].Content;
            _Region         = (CogGraphicCollection)_Record.SubRecords["InputImage"].SubRecords["CaliperRegions"].Content;

            kCogDisplay.InteractiveGraphics.Add(InteractiveLine, "Line", false);
            foreach (ICogGraphic _ICogGra in _Region)
            {
                kCogDisplay.InteractiveGraphics.Add((ICogGraphicInteractive)_ICogGra, "", false);
            }
            GC.Collect();
        }
예제 #2
0
        private void DrawLineFindCaliperFunction(CogLineFindAlgo _CogLineFindAlgo)
        {
            if (eTeachStep.ALGO_SET != CurrentTeachStep)
            {
                MessageBox.Show("Not select \"Algorithm Set\" button"); return;
            }
            AlgorithmAreaDisplayRefresh();

            CogFindLine _CogFindLine = new CogFindLine();

            _CogFindLine.NumCalipers                             = _CogLineFindAlgo.CaliperNumber;
            _CogFindLine.CaliperSearchLength                     = _CogLineFindAlgo.CaliperSearchLength;
            _CogFindLine.CaliperProjectionLength                 = _CogLineFindAlgo.CaliperProjectionLength;
            _CogFindLine.CaliperSearchDirection                  = (_CogLineFindAlgo.CaliperSearchDirection == 90) ? 1.5708 : -1.5708;
            _CogFindLine.NumToIgnore                             = _CogLineFindAlgo.IgnoreNumber;
            _CogFindLine.CaliperRunParams.ContrastThreshold      = _CogLineFindAlgo.ContrastThreshold;
            _CogFindLine.CaliperRunParams.FilterHalfSizeInPixels = _CogLineFindAlgo.FilterHalfSizePixels;
            _CogFindLine.ExpectedLineSegment.SetStartEnd(_CogLineFindAlgo.CaliperLineStartX, _CogLineFindAlgo.CaliperLineStartY, _CogLineFindAlgo.CaliperLineEndX, _CogLineFindAlgo.CaliperLineEndY);

            kpTeachDisplay.DrawFindLineCaliper(_CogFindLine);
        }