public Form1()
 {
     InitializeComponent();
     m_ImageFileTool = new CogImageFileTool();//不能写InitializeComponent()前面。
     //Camera cam = new Camera();
     //cam.Tool11 = (CogToolBlock)CogSerializer.LoadObjectFromFile(cam.CamPath1);
 }
Esempio n. 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog   openFileDialog1 = new OpenFileDialog();
            CogImageFileTool cogImgFileTool  = new CogImageFileTool();

            openFileDialog1.Filter = "點陣圖檔案(*.bmp)|*.bmp";                    // 對話框開啟時所預設的檔案格式
            //openFileDialog1.FileName = ""; // 對話框開啟時所預設的檔案名稱
            openFileDialog1.InitialDirectory = "C:\\Users\\shihjia\\Desktop"; // 對話框開啟時所在資料夾路徑
            openFileDialog1.ShowDialog();

            if (openFileDialog1.FileName == "")
            {
                MessageBox.Show("未選取 File not selected");
            }
            else if (File.Exists(openFileDialog1.FileName) == true)
            {
                cogImgFileTool.Operator.Open(openFileDialog1.FileName, CogImageFileModeConstants.Read);
                cogImgFileTool.Run();


                if (cogImgFileTool.RunStatus.Result == CogToolResultConstants.Accept)
                {
                    // Show Image
                    cogRecordDisplay1.Image     = cogImgFileTool.OutputImage;
                    m_FindCircleTool.InputImage = (CogImage8Grey)cogRecordDisplay1.Image;
                    cogRecordDisplay1.Fit();
                }
                cogImgFileTool.Operator.Close();
                cogImgFileTool.Dispose();
            }
        }
Esempio n. 3
0
 private bool GetImage(string pathin)
 {
     myToolGroup = (CogToolGroup)(myJobManager.Job(0).VisionTool);
     myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]);
     myImageFile.Operator.Open(pathin, CogImageFileModeConstants.Read);
     Imagein = new Bitmap(pathin);
     myImageFile.InputImage = new CogImage8Grey(Imagein);
     myImageFile.Run();
     return(true);
 }
Esempio n. 4
0
        public FrmLoadTray()
        {
            visionActionDelegate = new VisionActionDelegate(VisionActionDelegateFunc);
            InitializeComponent();

            //Add any initialization after the InitializeComponent() call
            cogToolBlockEditV21.LocalDisplayVisible = false;
            mIFTool = new CogImageFileTool();
            //mIFTool.Operator.Open(Environment.GetEnvironmentVariable("VPRO_ROOT") + @"\images\coins.idb", CogImageFileModeConstants.Read);
            mAcqTool = new CogAcqFifoTool();

            toolBlock = cogToolBlockEditV21.Subject;
            try
            {
                // toolBlock = CogSerializer.LoadObjectFromFile(@"C:\PROJECTS\Stahli.Net\Bin\Debug\CognexStahli\Camera1.vpp") as CogToolBlock;  //Need to upload insernt name as given by asaf
                toolBlock = CogSerializer.LoadObjectFromFile(System.IO.Directory.GetCurrentDirectory() + "\\CognexStahli\\Camera1.vpp") as CogToolBlock; //Need to upload insernt name as given by asaf
                //if it is new insert, upload a defult
            }
            catch (Exception ex)
            {
                MessageBox.Show("Tool block is error");
            }
            cogToolBlockEditV21.Subject         = toolBlock;
            cogToolBlockEditV21.Subject.Ran    += new EventHandler(Subject_Ran);
            cogToolBlockEditV21.SubjectChanged += new EventHandler(cogToolBlockEditV21_SubjectChanged);
            foreach (ICogTool tool in toolBlock.Tools)
            {
                calbCheckerBoard = tool as CogCalibCheckerboardTool;
                if (calbCheckerBoard != null)
                {
                    break;
                }
            }

            foreach (ICogTool tool in toolBlock.Tools)
            {
                CalibNPointTool = tool as CogCalibNPointToNPointTool;
                if (CalibNPointTool != null)
                {
                    break;
                }
            }

            foreach (ICogTool tool in toolBlock.Tools)
            {
                cogPMAlignTool = tool as CogPMAlignTool;
                if (cogPMAlignTool != null)
                {
                    break;
                }
            }

            loadOrderDataDelegate = new LoadOrderDataDelegate(LoadOrderDataDelegateFunc);
            // LoadPatternFromFile();   //13.07.15 (Ziv)
        }
Esempio n. 5
0
        public ObjectManager()
        {
            mToolBlockProcess = new CogToolBlock();
            mToolBlockAcq     = new CogToolBlock();
            mIFTool           = new CogImageFileTool();


            numPass    = 0;
            numFail    = 0;
            bUseCamera = false;
        }
Esempio n. 6
0
 private bool GetImage2(string pathin)
 {
     try
     {
         myToolGroup2 = (CogToolGroup)(myJobManager2.Job(0).VisionTool);
         myImageFile2 = (CogImageFileTool)(myToolGroup2.Tools["CogImageFileTool1"]);
         myImageFile2.Operator.Open(pathin, CogImageFileModeConstants.Read);
         Imagein2 = new Bitmap(pathin);
         myImageFile2.InputImage = new CogImage8Grey(Imagein2);
         myImageFile2.Run();
     }
     catch{}
 }
Esempio n. 7
0
 private void GetImage0(string pathin)
 {
     try
     {
         myToolGroup0 = (CogToolGroup)(myJobManager0.Job(0).VisionTool);
         myImageFile0 = (CogImageFileTool)(myToolGroup0.Tools["CogImageFileTool1"]);
         myImageFile0.Operator.Open(pathin, CogImageFileModeConstants.Read);
         Imagein0 = new Bitmap(pathin);
         myImageFile0.InputImage = new CogImage8Grey(Imagein0);
         myImageFile0.Run();
     }   
     catch{}
 }
Esempio n. 8
0
        // private string vpp_path = @"D:\项目资料\GDL\Height\Height\Debug\SetVpp\ImageProcess\GD1.vpp";
        public MainForm()
        {
            InitializeComponent();
            cogToolBlockEditV21.LocalDisplayVisible = false;
            mIFTool = new CogImageFileTool();
            string pathalpha = Environment.GetEnvironmentVariable("VPRO_ROOT");

            mIFTool.Operator.Open(Environment.GetEnvironmentVariable("VPRO_ROOT") + @"\images\coins.idb", CogImageFileModeConstants.Read);
            mAcqTool = new CogAcqFifoTool();
            //CogToolBlockEditV21
            Init_Vpp();
            cogToolBlockEditV21.Subject      = CogSerializer.LoadObjectFromFile(Environment.GetEnvironmentVariable("VPRO_ROOT") + @"\samples\programming\toolblock\toolblockload\tb.vpp") as CogToolBlock;
            cogToolBlockEditV21.Subject.Ran += new EventHandler(Subject_Ran);
        }
Esempio n. 9
0
 private bool GetImage3(string pathin)
 {
     try
     {
         myToolGroup3 = (CogToolGroup)(myJobManager3.Job(0).VisionTool);
         myImageFile3 = (CogImageFileTool)(myToolGroup3.Tools["CogImageFileTool1"]);
         myImageFile3.Operator.Open(pathin, CogImageFileModeConstants.Read);
         Imagein3 = new Bitmap(pathin);
         myImageFile3.InputImage = new CogImage8Grey(Imagein3);
         myImageFile3.Run();
         return true;
     }
     catch
     {
         return false;
     }
 }
Esempio n. 10
0
 private bool GetImage(int numOfVpps, List <string> pathin)
 {
     if (null == pathin[numOfVpps])
     {
         return(false);
     }
     else
     {
         myToolGroup = (CogToolGroup)(myJobManager[numOfVpps].Job(numOfVpps).VisionTool);
         myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]);
         myImageFile.Operator.Open(pathin[numOfVpps], CogImageFileModeConstants.Read);
         Imagein = new Bitmap(pathin[numOfVpps]);
         myImageFile.InputImage = new CogImage8Grey(Imagein);
         myImageFile.Run();
         Imagein = null;
     }
     return(true);
 }
Esempio n. 11
0
        /// <summary>
        /// 获取图像
        /// </summary>
        ///
        /// <param name="pathin">< 图片路径 ></param>
        ///
        /// <returns>< bool判定是否获取成功 ></returns>
        private bool GetImage(string pathin)
        {
            bool step1 = false;
            bool step2 = false;
            bool step3 = false;

            try
            {
                mTGTool = (CogToolGroup)(myJobManager.Job(0).VisionTool);
                step1   = true;
            }
            catch
            {
                step1 = false;
            }
            try
            {
                mIFTool = (CogImageFileTool)(mTGTool.Tools["CogImageFileTool1"]);
                mIFTool.Operator.Open(pathin, CogImageFileModeConstants.Read);
                step2 = true;
            }
            catch
            {
                step2 = false;
            }
            try
            {
                Imagein            = new Bitmap(pathin);
                mIFTool.InputImage = new CogImage8Grey(Imagein);
                step3 = true;
            }
            catch
            {
                step3 = false;
            }
            if (step1 && step2 && step3)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 12
0
        public VisionJob()
        {
            toolBlockEdit = new CogToolBlockEditV2();
            toolGroupEdit = new CogToolGroupEditV2();

            // Temp hiển thị tool Imagefile Select
            imageFileTool         = new CogImageFileTool();
            imageFileEdit         = new CogImageFileEditV2();
            imageFileEdit.Subject = imageFileTool;

            // Thiết lập Camera đầu vào
            acqFifoTool         = new CogAcqFifoEditV2();
            acqFifoTool.Subject = new CogAcqFifoTool();


            // Load thư viện ảnh mặc định
            cogDisplayMain = new CogDisplay();
            ImageFileTool.Operator.Open(@"C:\Program Files\Cognex\VisionPro\Images\CheckCal.idb", CogImageFileModeConstants.Read);

            // Link ảnh đầu ra với ảnh đầu vào
            // Tắt tạm thời ảnh vào từ Imagefile
            // Load ảnh trực tiếp từ Camera
            //cogDisplayMain.DataBindings.Add("Image", ImageFileTool, "OutputImage", true);
            cogDisplayMain.DataBindings.Add("Image", AcqFifoTool.Subject, "OutputImage", true);

            // Tool Align
            pmAlignTool         = new CogPMAlignEditV2();
            pmAlignTool.Subject = new CogPMAlignTool();
            //pmAlignTool.Subject.DataBindings.Add("InputImage", ImageFileTool, "OutputImage");
            pmAlignTool.Subject.DataBindings.Add("InputImage", AcqFifoTool.Subject, "OutputImage");

            // Cấu hình Tool Calib
            calibGribCBTool         = new CogCalibCheckerboardEditV2();
            calibGribCBTool.Subject = new CogCalibCheckerboardTool();
            // Sửa đầu vào Tool Calib
            //calibGribCBTool.Subject.DataBindings.Add("InputImage", ImageFileTool, "OutputImage");
            calibGribCBTool.Subject.DataBindings.Add("InputImage", AcqFifoTool.Subject, "OutputImage");

            calibGribCBTool.Subject.Calibration.Changed += UpdateCalibImage;
            pmAlignTool.SubjectChanged     += UpdateCalibImage;
            calibGribCBTool.SubjectChanged += UpdateImageSource;

            //
        }
        private void LogToDisk_ExceptionEaten()
        {
            try
            {
                using (var fileTool = new CogImageFileTool())
                {
                    var img = _display.CreateContentBitmap(_bitmapStyle);

                    var bmp      = new Bitmap(img);
                    var cogImage = new CogImage24PlanarColor(bmp);
                    fileTool.InputImage = cogImage;

                    fileTool.Operator.Open(_recentImagePath, CogImageFileModeConstants.Write);
                    fileTool.Run();
                }
            }

            catch
            {
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 初始化相机,需要处理异常
        /// </summary>
        public static string Init()
        {
            string rs = "";

            try
            {
                CogToolBlock ctb = CogSerializer.LoadObjectFromFile(AcqFile) as CogToolBlock;
                Acq1   = ctb.Tools[0] as CogAcqFifoTool;
                Acq2   = ctb.Tools[1] as CogAcqFifoTool;
                Acq3   = ctb.Tools[2] as CogAcqFifoTool;
                IFTool = new CogImageFileTool();
            }
            catch (Exception ex)
            {
                rs += ex.Message + ",";
            }

            if (Acq1.Operator == null)
            {
                rs += "cam1 未连接,";
            }
            if (Acq2.Operator == null)
            {
                rs += "cam2 未连接,";
            }
            if (Acq3.Operator == null)
            {
                rs += "cam3 未连接";
            }
            if (rs == "")
            {
                return("OK");
            }
            else
            {
                return(rs);
            }
        }
Esempio n. 15
0
        public ImageSaveHerper()
        {
            this.ImageQueue         = new Queue();
            this.ImageQueueBMP      = new Queue();
            this.ImageNameQueue     = new Queue();
            this.ImageNameQueueBMP  = new Queue();
            this.myImageFileForSave = new CogImageFileTool();
            this.IsAddingImage      = false;
            this.IsNeedClose        = false;
            this.mySaveImageUI      = new ImageSave();
            this.sleeptime          = 15;
            this.ErrorTimes         = 0;
            this.UseCognex          = true;
            this.TooFastSafeguard   = false;
            ImageSaveHerper cCImageSave = this;

            this.mythreading = new Thread(new ThreadStart(cCImageSave.SaveImageQueue))
            {
                IsBackground = true,
                Priority     = ThreadPriority.Lowest
            };
            this.mythreading.Start();
        }
Esempio n. 16
0
 protected void OnContextMenuItemLoadImageClicked(object sender, EventArgs e)
 {
     using (OpenFileDialog _openFileDialog = new OpenFileDialog())
     {
         _openFileDialog.Filter = "BmpFile (*.bmp)|*.bmp";
         try
         {
             if (_openFileDialog.ShowDialog() == DialogResult.OK)
             {
                 string           _fileName         = _openFileDialog.FileName;
                 CogImageFileTool _cogImageFileTool = new CogImageFileTool();
                 _cogImageFileTool.Operator.Open(_fileName, CogImageFileModeConstants.Read);
                 _cogImageFileTool.Run();
                 this.Image   = _cogImageFileTool.OutputImage;
                 this.AutoFit = true;
             }
         }
         catch
         {
             CLogManager.AddInspectionLog(CLogManager.LOG_TYPE.ERR, "OnContextMenuItemLoadImageClicked Exception!!", CLogManager.LOG_LEVEL.LOW);
             MessageBox.Show("Loading image failed.");
         }
     }
 }
Esempio n. 17
0
 /// <summary>
 /// 获取图像
 /// </summary>
 ///
 /// <param name="pathin">< 图片路径 ></param>
 ///
 /// <returns>< bool判定是否获取成功 ></returns>
 private bool GetImage(string pathin)
 {
     bool step1 = false;
     bool step2 = false;
     bool step3 = false;
     try
     {
         mTGTool = (CogToolGroup)(myJobManager.Job(0).VisionTool);
         step1 = true;
     }
     catch
     {
         step1 = false;
     }
     try
     {   
         mIFTool = (CogImageFileTool)(mTGTool.Tools["CogImageFileTool1"]);
         mIFTool.Operator.Open(pathin, CogImageFileModeConstants.Read); 
         step2 = true;
     }
     catch
     {
         step2 = false;
     }
     try
     {
         Imagein = new Bitmap(pathin);
         mIFTool.InputImage = new CogImage8Grey(Imagein);
         step3 = true;
     }
     catch
     {
         step3 = false;
     }
     if(step1 && step2 && step3)
     {
         return true; 
     }
     else
     {
         return false;
     }
 }
Esempio n. 18
0
        public string ReadBarcode(int nMode)
        {
            ICogImage           cogOutputImage;
            CogImageConvertTool ConvertTool = new CogImageConvertTool();
//            Cog2DSymbolTool cog2DSymbol = new Cog2DSymbolTool();
//          CogBarcodeTool cog1dSymbol = new CogBarcodeTool();
            CogIDTool         cogIDTool = new CogIDTool();
            CogImageFileTool  SaveImage = new CogImageFileTool();
            CogIPOneImageTool oneTool   = new CogIPOneImageTool();

            CogRectangle cogRect = new CogRectangle();


            CogIPOneImageEqualize         EqulParam        = new CogIPOneImageEqualize();
            CogIPOneImageMultiplyConstant MultiplyConstant = new CogIPOneImageMultiplyConstant();

            MultiplyConstant.ConstantValue = 2;

            string strReadBarcode = "";

            if (BarcodeRect.Width <= 0)
            {
                return(strReadBarcode);
            }
            if (m_imgScreenShot == null)
            {
                return("");
            }
            ConvertTool.InputImage = m_imgScreenShot;
            ConvertTool.Run();

            if (nMode == 1)
            {
                oneTool.InputImage = ConvertTool.OutputImage;
                //oneTool.Operators.Add(EqulParam);
                oneTool.Operators.Add(MultiplyConstant);
                oneTool.Run();
                cogOutputImage = oneTool.OutputImage;// ConvertTool.OutputImage;
            }
            else if (nMode == 2)
            {
                oneTool.InputImage = ConvertTool.OutputImage;
                oneTool.Operators.Add(EqulParam);
                //oneTool.Operators.Add(MultiplyConstant);
                oneTool.Run();
                cogOutputImage = oneTool.OutputImage;// ConvertTool.OutputImage;
            }
            else
            {
                cogOutputImage = ConvertTool.OutputImage;
            }
            if (BarcodeRect.Width > 0 && BarcodeRect.Height > 0)
            {
                cogRect.SetXYWidthHeight(BarcodeRect.X, BarcodeRect.Y, BarcodeRect.Width, BarcodeRect.Height);
                try
                {
                    ICogRegion cogRegion;
                    cogRegion = new CogRectangle();
                    cogRegion.FitToBoundingBox(cogRect);

                    cogIDTool.InputImage = (CogImage8Grey)cogOutputImage;
                    cogIDTool.RunParams.DisableAllCodes();
                    cogIDTool.RunParams.DataMatrix.Enabled = true;

                    cogIDTool.RunParams.DataMatrix.ProcessControlMetrics = CogIDDataMatrixProcessControlMetricsConstants.None;
                    cogIDTool.Region = cogRegion;

                    cogIDTool.Run();

                    if (cogIDTool.Results != null && cogIDTool.Results.Count == 1)
                    {
                        strReadBarcode = cogIDTool.Results[0].DecodedData.DecodedString;
                    }

                    /*
                     * if (cog2DSymbol.Pattern.Trained)
                     *  cog2DSymbol.Pattern.Untrain();
                     * cog2DSymbol.InputImage = (CogImage8Grey)cogOutputImage;
                     * cog2DSymbol.Pattern.TrainImage = (CogImage8Grey)cogOutputImage;
                     * cog2DSymbol.SearchRegion = cogRegion;// barcodeRegion;
                     * cog2DSymbol.Pattern.Train();
                     * if (cog2DSymbol.Pattern.Trained)
                     * {
                     *  try
                     *  {
                     *      cog2DSymbol.SearchRegion = cogRegion;// barcodeRegion;
                     *      cog2DSymbol.Run();
                     *      if (cog2DSymbol.Result != null)
                     *          strReadBarcode = cog2DSymbol.Result.DecodedString;
                     *
                     *  }
                     *  catch (Cognex.VisionPro.Exceptions.CogException)
                     *  {
                     *
                     *  }
                     * }
                     * if (strReadBarcode == "")
                     * {
                     *  cog1dSymbol.InputImage = (CogImage8Grey)cogOutputImage;
                     *  cog1dSymbol.Region = cogRegion;
                     *  cog1dSymbol.Run();
                     *  strReadBarcode = cog1dSymbol.Results.ToString();
                     * }*/
                }
                catch (Cognex.VisionPro.Exceptions.CogException)
                {
                }
            }
            return(strReadBarcode);
        }
Esempio n. 19
0
 private bool GetImage(string pathin)
 {
     myToolGroup = (CogToolGroup)(myJobManager.Job(0).VisionTool);
     myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]);
     myImageFile.Operator.Open(pathin, CogImageFileModeConstants.Read);
     Imagein = new Bitmap(pathin);
     myImageFile.InputImage = new CogImage8Grey(Imagein);
     myImageFile.Run();
     return true;
 }
Esempio n. 20
0
        public static void saveImage(CogRecordDisplay image, int index, string result)
        {
            var imageBaseDir = AppDomain.CurrentDomain.BaseDirectory + "Image";

            if (!Directory.Exists(imageBaseDir))
            {
                Directory.CreateDirectory(imageBaseDir);
            }


            var imageDir_today = imageBaseDir + "\\" + DateTime.Now.ToString("MM-dd");

            if (!Directory.Exists(imageDir_today))
            {
                Directory.CreateDirectory(imageDir_today);
            }

            var imagePath = imageDir_today + "\\" + index + "_" + DateTime.Now.ToString("HHmmss") + ".jpg";

            if (result == resultNG)
            {
                lock (mu_recentNGImagePath)
                {
                    recentNGIMagePath = imagePath;
                }
            }

            if (ShouldImageBeSavedBasedOnResult(result))
            {
                try
                {
                    using (var fileTool = new CogImageFileTool())
                    {
                        Image img;
                        lock (mu_SaveAsScreenShot)
                        {
                            img = image.CreateContentBitmap(saveAsScreenShot
                                ? CogDisplayContentBitmapConstants.Display
                                : CogDisplayContentBitmapConstants.Image);
                        }

                        var bmp      = new Bitmap(img);
                        var cogImage = new CogImage24PlanarColor(bmp);
                        fileTool.InputImage = cogImage;
                        lock (mu_recentNGImagePath)
                        {
                            fileTool.Operator.Open(imagePath, CogImageFileModeConstants.Write);
                        }

                        fileTool.Run();
                    }
                }
                catch
                {
                }
            }


            //删除过期文件夹
            removeOutdatedDirs(imageBaseDir);
        }
Esempio n. 21
0
 private void btnUpload1_Click(object sender, EventArgs e)
 {
     try
     {
         var            cogImageFileTool = new CogImageFileTool();
         OpenFileDialog openFileDialog   = new OpenFileDialog();
         openFileDialog.Multiselect        = true;
         openFileDialog.Filter             = "All Image Files|*.bmp;*.ico;*.gif;*.jpeg;*.jpg;*.png;*.tif;*.tiff|" + LanguageHelper.GetString("um_AF") + "(*.*)|*.*||";
         openFileDialog.AutoUpgradeEnabled = true;
         openFileDialog.Title = LanguageHelper.GetString("um_SP");
         if (openFileDialog.ShowDialog() == DialogResult.OK)
         {
             pbLoadingBar1.Visible = true;
             Camera1ImageQueue     = new Queue <CogImage8Grey>();
             new Thread(new ThreadStart(delegate()
             {
                 for (var index = 0; index < openFileDialog.FileNames.Count(); index++)
                 {
                     cogImageFileTool.Operator.Open(openFileDialog.FileNames[index], CogImageFileModeConstants.Read);
                     cogImageFileTool.Run();
                     if (cogImageFileTool.OutputImage.GetType().Equals(typeof(CogImage24PlanarColor)))
                     {
                         CogImageConvertTool cogImageConvertTool = new CogImageConvertTool();
                         cogImageConvertTool.InputImage          = cogImageFileTool.OutputImage;
                         cogImageConvertTool.Run();
                         Camera1ImageQueue.Enqueue((CogImage8Grey)cogImageConvertTool.OutputImage);
                     }
                     else
                     {
                         Camera1ImageQueue.Enqueue((CogImage8Grey)cogImageFileTool.OutputImage);
                     }
                 }
                 if (this.InvokeRequired)
                 {
                     this.Invoke(new MethodInvoker(delegate()
                     {
                         pbLoadingBar1.Visible = false;
                         if (Camera1ImageQueue.Count > 0)
                         {
                             btnRun1.Enabled = true;
                             btnRun1.Text    = LanguageHelper.GetString("um_Run") + "(" + Camera1ImageQueue.Count.ToString() + ")";
                         }
                     }));
                 }
                 else
                 {
                     pbLoadingBar1.Visible = false;
                     if (Camera1ImageQueue.Count > 0)
                     {
                         btnRun1.Enabled = true;
                         btnRun1.Text    = LanguageHelper.GetString("um_Run") + "(" + Camera1ImageQueue.Count.ToString() + ")";
                     }
                 }
             })).Start();
         }
     }
     catch (Exception ex)
     {
         pbLoadingBar1.Visible = false;
         MessageBox.Show(ex.Message);
     }
 }
        public void InitVision()
        {
            SettingUp          = false;
            ImageFileTool      = CogImageFileEdit1.Subject;
            ImageFileTool.Ran += ImageFileTool_Ran;
            //Set reference to CogAcqFifoTool created by Edit Control
            //The Acq Fifo Edit Control creates its subject when its AutoCreateTool property is True
            AcqFifoTool      = CogAcqFifoEdit1.Subject;
            AcqFifoTool.Ran += AcqFifoTool_Ran;

            cogAcqTool = CogAcqFifoEdit1.Subject;
            cogAcqTool = cogToolBlockEditV21.Subject.Tools["CogAcqFifoTool1"] as CogAcqFifoTool;
            cogAcqTool.Run();

            //Operator will be Nothing if no Frame Grabber is available.  Disable the Frame Grabber
            //option on the "VisionPro Demo" tab if no frame grabber available.
            if (AcqFifoTool.Operator == null)
            {
                optImageAcquisitionOptionFrameGrabber.Enabled = false;
            }

            //Initialize the Dialog box for the "Open File" button on the "VisionPro Demo" tab.
            ImageAcquisitionCommonDialog.Filter          = ImageFileTool.Operator.FilterText;
            ImageAcquisitionCommonDialog.CheckFileExists = true;
            ImageAcquisitionCommonDialog.ReadOnlyChecked = true;

            //AutoCreateTool for the PMAlign edit control is False, therefore, we must create
            //a PMAlign tool and set the subject of the control to reference the new tool.
            PatMaxTool              = new CogPMAlignTool();
            PatMaxTool.Changed     += PatMaxTool_Changed;
            CogPMAlignEdit1.Subject = PatMaxTool;

            //Change the default Train Region to center of a 640x480 image & change the DOFs
            //so that Skew is not enabled.  Note - TrainRegion is of type ICogRegion, therefore,
            //we must use a CogRectangleAffine reference in order to call CogRectangleAffine
            //properties.
            CogRectangleAffine PatMaxTrainRegion = default(CogRectangleAffine);

            PatMaxTrainRegion = PatMaxTool.Pattern.TrainRegion as CogRectangleAffine;
            //PatMaxTrainRegion = cogPMAlignTool.Pattern.TrainRegion as CogRectangleAffine;
            if ((PatMaxTrainRegion != null))
            {
                PatMaxTrainRegion.SetCenterLengthsRotationSkew(320, 240, 100, 100, 0, 0);
                PatMaxTrainRegion.GraphicDOFEnable = CogRectangleAffineDOFConstants.Position | CogRectangleAffineDOFConstants.Rotation | CogRectangleAffineDOFConstants.Size;
            }
            //PatMaxTool.SearchRegion = PatMaxSearchRegion;
            //PatMaxSearchRegion.SetCenterWidthHeight(320, 240, 640, 480);
            //PatMaxSearchRegion.GraphicDOFEnable = CogRectangleDOFConstants.Position | CogRectangleDOFConstants.Size;
            //PatMaxSearchRegion.Interactive = true;
            numericUpDown1.Value = Convert.ToDecimal(cogPMAlignTool.RunParams.AcceptThreshold);
            PatMaxTool.RunParams.AcceptThreshold = Convert.ToDouble(numericUpDown1.Value);
            numericUpDown2.Value = Convert.ToDecimal(cogPMAlignTool.RunParams.ApproximateNumberToFind);
            PatMaxTool.RunParams.ApproximateNumberToFind = Convert.ToInt32(numericUpDown2.Value);
            myAcqFifo = AcqFifoTool.Operator;
            try
            {
                myFrameGrabber       = cogAcqTool.Operator.FrameGrabber;
                myAcqFifo            = cogAcqTool.Operator;
                AcqFifoTool.Operator = myAcqFifo;

                myAcqFifo.OwnedContrastParams.Contrast     = cogAcqTool.Operator.OwnedContrastParams.Contrast;
                myAcqFifo.OwnedBrightnessParams.Brightness = cogAcqTool.Operator.OwnedBrightnessParams.Brightness;
                brightnessParams = myAcqFifo.OwnedBrightnessParams;
                contrastParams   = myAcqFifo.OwnedContrastParams;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            if (brightnessParams != null)
            {
                brightnessUpDown.Value = Convert.ToDecimal(brightnessParams.Brightness);
            }
            if (contrastParams != null)
            {
                contrastUpDown.Value = Convert.ToDecimal(contrastParams.Contrast);
            }
            try
            {
                cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Input image wasn't set");
            }
        }
Esempio n. 23
0
        public static List <double> find(int toolNum, int method)
        {
            object toolgroup = CogSerializer.LoadObjectFromFile("c://tool.vpp");
            object job       = CogSerializer.LoadObjectFromFile("QuickBuild1.vpp");

            switch (toolNum)
            {
            case 0:  toolgroup = CogSerializer.LoadObjectFromFile("c://tool0.vpp");
                break;

            case 1:  toolgroup = CogSerializer.LoadObjectFromFile("c://tool1.vpp");
                break;

            case 2: toolgroup = CogSerializer.LoadObjectFromFile("c://tool2.vpp");
                break;

            case 3: toolgroup = CogSerializer.LoadObjectFromFile("c://tool3.vpp");
                break;

            default: break;
            }

            CogToolGroup  ToolGroup1 = toolgroup as CogToolGroup;
            CogJobManager cojob      = job as CogJobManager;
            CogJob        cojob      = cojob.Job["CogJob1"] as CogJob;


            CogImageFileTool myFile = ToolGroup1.Tools["CogImageFileTool1"] as CogImageFileTool;

            myFile.Run();
            CogFindCircleTool myCircleTool = ToolGroup1.Tools["CogFindCircleTool1"] as CogFindCircleTool;
            CogFindLineTool   myLineTool   = ToolGroup1.Tools["CogFindLineTool1"] as CogFindLineTool;

            switch (method)
            {
            case 1: myCircleTool.Run();
                break;

            case 2: myLineTool.Run();
                break;

            case 3: myCircleTool.Run();
                myLineTool.Run();
                break;

            default: break;
            }
            double Lx0    = 0;
            double Lx1    = 0;
            double Ly0    = 0;
            double Ly1    = 0;
            double Langle = 0;
            double Cx     = 0;
            double Cy     = 0;
            double Cr     = 0;


            if (method == 1 | method == 3)
            {
                Cx = myCircleTool.Results.GetCircle().CenterX;
                Cy = myCircleTool.Results.GetCircle().CenterY;
                Cr = myCircleTool.Results.GetCircle().Radius;
            }
            if (method == 2 | method == 3)
            {
                Lx0    = myLineTool.Results.GetLineSegment().StartX;
                Ly0    = myLineTool.Results.GetLineSegment().StartY;
                Lx1    = myLineTool.Results.GetLineSegment().EndX;
                Ly1    = myLineTool.Results.GetLineSegment().EndY;
                Langle = myLineTool.Results.GetLine().Rotation;
            }
            double[] result = { Cx, Cy, Cr, Lx0, Ly0, Lx1, Ly1, Langle };
            return(new List <double>(result));
        }
Esempio n. 24
0
 private bool GetImage(int numOfVpps, List<string> pathin)
 {
     if (null == pathin[numOfVpps])
     {
         return false;
     }
     else
     {
         myToolGroup = (CogToolGroup)(myJobManager[numOfVpps].Job(numOfVpps).VisionTool);
         myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]);
         myImageFile.Operator.Open(pathin[numOfVpps], CogImageFileModeConstants.Read);
         Imagein = new Bitmap(pathin[numOfVpps]);
         myImageFile.InputImage = new CogImage8Grey(Imagein);
         myImageFile.Run();
         Imagein = null;
     }
     return true;
 }