コード例 #1
0
        private void DebugShowFlagTia(ToolDataBase para)
        {
            try
            {
                int           nCamID         = 0;
                FlagToolDaga  data           = para as FlagToolDaga;
                var           L1Data         = File.ReadAllText($"{PATH_TOOLPATH}{data.L1Name}.para");
                var           L2Data         = File.ReadAllText($"{PATH_TOOLPATH}{data.L2Name}.para");
                List <string> LineListString = new List <string>()
                {
                    L1Data, L2Data
                };
                string ModelName = L1Data.Split('|')[1].Split('&')[4];

                StepFindModel FindModelTool = new StepFindModel()
                {
                    In_CamID             = nCamID,
                    In_ModelNameFullPath = $"{PATH_MODELPATH}Cam0_{ModelName}.shm"
                };
                HalconVision.Instance.ProcessImage(FindModelTool);

                //FindLine
                StepFindeLineByModel FindLineTool = new StepFindeLineByModel()
                {
                    In_CamID       = nCamID,
                    In_Hom_mat2D   = FindModelTool.Out_Hom_mat2D,
                    In_ModelRow    = FindModelTool.Out_ModelRow,
                    In_ModelCOl    = FindModelTool.Out_ModelCol,
                    In_ModelPhi    = FindModelTool.Out_ModelPhi,
                    In_LineRoiPara = LineListString
                };
                HalconVision.Instance.ProcessImage(FindLineTool);


                //ShowFlag
                var LineListForDraw = new List <Tuple <double, double, double, double> >();
                foreach (var it in FindLineTool.Out_Lines)
                {
                    LineListForDraw.Add(new Tuple <double, double, double, double>(it.Item1.D, it.Item2.D, it.Item3.D, it.Item4.D));
                }
                StepShowFlag ShowFlagTool = new StepShowFlag()
                {
                    In_CamID     = nCamID,
                    In_CenterRow = data.Halcon_Row,
                    In_CenterCol = data.Halcon_Col,
                    In_Phi       = data.Halcon_Phi,
                    In_HLine     = LineListForDraw[0],
                    In_VLine     = LineListForDraw[1],
                    In_RegionFullPathFileName = $"{PATH_TOOLPATH}Flag.reg}}"
                };
                HalconVision.Instance.ProcessImage(ShowFlagTool);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #2
0
        private bool DebugTool(ToolDataBase para)
        {
            try
            {
                switch (para.ToolType)
                {
                case EnumToolType.LineTool:
                {
                    var ToolData = para as LineToolData;
                    HalconVision.Instance.Debug_FindLine(0, ToolData.Polarity, ToolData.SelectType, ToolData.Contrast, ToolData.CaliperNum);
                    return(true);
                }

                case EnumToolType.CircleTool:
                {
                }
                break;

                case EnumToolType.PairTool:
                {
                    PairToolData data = para as PairToolData;
                    HalconVision.Instance.Debug_FindPair(0, data.Polarity, data.SelectType, data.ExpectPairNum, data.Contrast, data.CaliperNum);
                    return(true);
                }

                case EnumToolType.FlagTool:
                {
                    FlagToolDaga data = para as FlagToolDaga;
                    AddFlag(data);
                }
                break;

                default:
                    break;
                }
                return(true);
            }
            catch (Exception ex)
            {
                UC_MessageBox.ShowMsgBox("Error", ex.Message, MsgType.Error);
                return(false);
            }
        }