Esempio n. 1
0
        public static List <Ptma> LoadFromXML(String xmlDoc)
        {
            List <Ptma> list = new List <Ptma>();
            XmlDocument xml  = new XmlDocument();

            xml.LoadXml(xmlDoc);
            XmlNodeList ptmaNodesList = xml.SelectNodes("list/pmat");

            foreach (XmlNode node in ptmaNodesList)
            {
                Ptma obj = new Ptma();
                obj.name     = node.Attributes["name"].Value;
                obj.text     = node.Attributes["text"].Value;
                obj.image    = MakeThumbnail(node.Attributes["image"].Value, 40, 40, "H");
                obj.imageSrc = node.Attributes["image"].Value;
                obj.enable   = int.Parse(node.Attributes["enable"].Value);
                obj._dx      = int.Parse(node.Attributes["_dx"].Value);
                obj._dy      = int.Parse(node.Attributes["_dy"].Value);
                obj.dx       = int.Parse(node.Attributes["dx"].Value);
                obj.dy       = int.Parse(node.Attributes["dy"].Value);
                obj.opt      = global::YYSCognexTool.Properties.Resources.start_40;
                list.Add(obj);
            }
            return(list);
        }
Esempio n. 2
0
        private void FrmMain_Shown(object sender, EventArgs e)
        {
            cogToolDisplay.Dock = DockStyle.Fill;
            this.spcMain.Panel2.Controls.Add(cogToolDisplay);
            this.list = Ptma.LoadFromPath("config.xml");
            for (int i = 0; i < list.Count; i++)
            {
                Cognex.VisionPro.PMAlign.CogPMAlignTool cogPMAlignTool = new Cognex.VisionPro.PMAlign.CogPMAlignTool();
                cogPMAlignTool.Pattern.TrainImage          = new CogImage8Grey(new Bitmap(list[i].imageSrc));
                cogPMAlignTool.Pattern.TrainRegion         = null;
                cogPMAlignTool.Pattern.Origin.TranslationX = cogPMAlignTool.Pattern.TrainImage.Width / 2;
                cogPMAlignTool.Pattern.Origin.TranslationY = cogPMAlignTool.Pattern.TrainImage.Height / 2;
                cogPMAlignTool.RunParams.AcceptThreshold   = 0.8;
                //cogPMAlignTool.LastRunRecordDiagEnable = cogPMAlignTool.LastRunRecordDiagEnable&CogPMAlignLastRunRecordDiagConstants.ResultsMatchFeatures;
                cogPMAlignTool.LastRunRecordEnable      = CogPMAlignLastRunRecordConstants.ResultsMatchShapeModels | CogPMAlignLastRunRecordConstants.ResultsCoordinateAxes | cogPMAlignTool.LastRunRecordEnable | CogPMAlignLastRunRecordConstants.ResultsMatchRegion;
                cogPMAlignTool.RunParams.RunAlgorithm   = CogPMAlignRunAlgorithmConstants.BestTrained;
                cogPMAlignTool.RunParams.ZoneScale.Low  = 0.5;// = new CogPMAlignZoneScale();
                cogPMAlignTool.RunParams.ZoneScale.High = 2;
                cogPMAlignTool.Pattern.Train();
                cogPMAlignTool.Ran += new EventHandler(cogPMAlignTool_Ran);
                this.toolList.Add(cogPMAlignTool);
            }
            this.dgvMain.DataSource = this.list;

            Thread bgThread = new Thread(CaptureAndAnalyse);

            bgThread.IsBackground = true;
            bgThread.Start();
        }