}//CCD停止取像結束 /// <summary> /// 開啟影像檔 /// </summary> /// <param name="TempCCDDisplay">CCDDisplay畫面</param> /// <param name="FilePath">路徑</param> /// <returns>回傳是否開啟影像成功</returns> public static Boolean Image_Open_Function(Cognex.VisionPro.CogRecordDisplay TempCCDDisplay, string FilePath)//開啟影像檔 { string ProcID = System.Reflection.MethodInfo.GetCurrentMethod().Name.ToString(); #region 開啟影像檔 try { //Cognex開起影像檔 CogImageFileTool_Tool.Operator.Open(FilePath, CogImageFileModeConstants.Read); CogImageFileTool_Tool.Run(); TempCCDDisplay.Image = (Cognex.VisionPro.CogImage8Grey)CogImageFileTool_Tool.OutputImage; //清除畫面調整大小 TempCCDDisplay.Fit(); TempCCDDisplay.StaticGraphics.Clear(); TempCCDDisplay.InteractiveGraphics.Clear(); SaveLog.Msg_("開啟影像 " + FilePath); return(true); } catch (Exception ex) { SaveLog.Msg_(ModularID + ":\r\n" + ProcID + ":\r\n" + ex.ToString()); return(false); } #endregion 開啟影像檔 }//開啟影像檔結束
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(); } }
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); }
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{} }
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{} }
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; } }
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); }
public void RunOnce() { // Get the next image if (!bUseCamera) { mIFTool.Run(); mToolBlockProcess.Inputs["Image"].Value = mIFTool.OutputImage as CogImage8Grey; } else { //FIXME: check output image of mToolBockAcq mToolBlockAcq.Run(); Console.WriteLine("Test step process when using camera 1...."); mToolBlockProcess.Inputs["Image"].Value = mToolBlockAcq.Outputs["Image"].Value; } // Run the toolblock mToolBlockProcess.Run(); }
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 { } }
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."); } } }
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; }
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); }
private void cmdImageAcquisitionLiveOrOpenCommand_Click(System.Object sender, System.EventArgs e) { CogDisplay1.StaticGraphics.Clear(); CogDisplay1.InteractiveGraphics.Clear(); cogRecordDisplay1.StaticGraphics.Clear(); cogRecordDisplay1.InteractiveGraphics.Clear(); ROIParams = myAcqFifo.OwnedROIParams; //if (AppGen.Inst.MDImain.frmVisionMain.FrmUnloadCarrier.flagFullTray) //{ ROIParams.SetROIXYWidthHeight(StartXIndx, StartYIndx, MaxXWidth, MaxYWidth); //PatMaxSearchRegion.SetXYWidthHeight(0, 0, 349.08, 296.54); //cogPMAlignTool.SearchRegion = PatMaxSearchRegion; //} //else //{ // // ROIParams.SetROIXYWidthHeight(Convert.ToInt32(StartXIndx * PixFactor), Convert.ToInt32(CurrLineCoord * PixFactor), Convert.ToInt32((xSearchReg + 10) * PixFactor), Convert.ToInt32((ySearchReg + 10) * PixFactor)); // try // { // CurrLineCoord = StartYIndx + (((AppGen.Inst.MainCycle.UnloadCarrierSliceNo - 1) * ySearchReg)); //added 11.06.14 by asaf // //111111 ROIParams.SetROIXYWidthHeight(Convert.ToInt32(StartXIndx * 2.5), Convert.ToInt32(CurrLineCoord), xSearchReg - 1100, ySearchReg + 150); // } // catch (Exception ex) // { // MessageBox.Show(ex.Message, "PatMax Setup Error"); // } //} //"Live Video" & "Stop Live" button when Frame Grabber option is selected. //Using our EnableAll & DisableAll subroutine to force the user stop live //video before doing anything else. if (optImageAcquisitionOptionFrameGrabber.Checked == true) { if (cogRecordDisplay1.LiveDisplayRunning) { cogRecordDisplay1.StopLiveDisplay(); EnableAll(settingLiveVideo); AcqFifoTool.Run(); cogRecordDisplay1.Fit(true); cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; } else if ((AcqFifoTool.Operator != null)) { AcqFifoTool.Run(); cogRecordDisplay1.Fit(true); cogRecordDisplay1.StartLiveDisplay(AcqFifoTool.Operator, false); cogRecordDisplay1.Fit(true); cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; DisableAll(settingLiveVideo); cogRecordDisplay1.Fit(true); } } else { //"Open File" button when image file option is selected //DrawingEnabled is used to simply hide the image while the Fit is performed. //This prevents the image from being diplayed at the initial zoom factor //prior to fit being called. try { DialogResult result = ImageAcquisitionCommonDialog.ShowDialog(); if (result != System.Windows.Forms.DialogResult.Cancel) { ImageFileTool.Operator.Open(ImageAcquisitionCommonDialog.FileName, CogImageFileModeConstants.Read); cogRecordDisplay1.DrawingEnabled = false; ImageFileTool.Run(); cogRecordDisplay1.Fit(true); cogRecordDisplay1.DrawingEnabled = true; } } catch (CogException cogex) { MessageBox.Show("Following Specific Cognex Error Occured:" + cogex.Message); } catch (Exception ex) { MessageBox.Show("Following Error Occured:" + ex.Message); } cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; //!!!!! Neet to solve why pic doesn't get into tool } cogRecordDisplay1.Fit(true); }
private void cmdImageAcquisitionLiveOrOpenCommand_Click(System.Object sender, System.EventArgs e) { txtCurrentIndex.Text = (AppGen.Inst.LoadTray.CurrIndex + 1).ToString(); //Clear graphics, assuming a new image will be in the display once user //completes either Live Video or Open File operation, therefore, graphics //will be out of sync. CogDisplay1.StaticGraphics.Clear(); CogDisplay1.InteractiveGraphics.Clear(); cogRecordDisplay1.StaticGraphics.Clear(); cogRecordDisplay1.InteractiveGraphics.Clear(); ROIParams = myAcqFifo.OwnedROIParams; if (AppGen.Inst.MDImain.frmVisionMain.FrmLoadtray.flagFullTray) { //PatMaxSearchRegion.SetXYWidthHeight(0, 0, 349.08, 296.54); //cogPMAlignTool.SearchRegion = PatMaxSearchRegion; PatMaxSearchRegion.SetCenterWidthHeight(StartXIndx, StartYIndx, MaxXWidth + 555, MaxYWidth + 555); cogPMAlignTool.SearchRegion = PatMaxSearchRegion; } else { cogTransform2DLinearN2N = CalibNPointTool.Calibration.GetComputedUncalibratedFromCalibratedTransform() as CogTransform2DLinear; PatMaxSearchRegion.SetCenterWidthHeight(173 + (AppGen.Inst.LoadTray. IndexList[AppGen.Inst.LoadTray.CurrIndex].X_file), (593.7 - AppGen.Inst.LoadTray.IndexList[AppGen.Inst.LoadTray.CurrIndex].Y_file), (xSearchReg), (ySearchReg)); cogPMAlignTool.SearchRegion = PatMaxSearchRegion; //if ((cogPMAlignTool.SearchRegion != null)) //{ // cogRecordDisplay1.StaticGraphics.Add(cogPMAlignTool.SearchRegion as ICogGraphic, "test"); // cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; //} } //"Live Video" & "Stop Live" button when Frame Grabber option is selected. //Using our EnableAll & DisableAll subroutine to force the user stop live //video before doing anything else. if (optImageAcquisitionOptionFrameGrabber.Checked == true) { if (cogRecordDisplay1.LiveDisplayRunning) { cogRecordDisplay1.StopLiveDisplay(); EnableAll(settingLiveVideo); AcqFifoTool.Run(); cogRecordDisplay1.Fit(true); cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; } else if ((AcqFifoTool.Operator != null)) { AcqFifoTool.Run(); cogRecordDisplay1.Fit(true); cogRecordDisplay1.StartLiveDisplay(AcqFifoTool.Operator, false); cogRecordDisplay1.Fit(true); cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; DisableAll(settingLiveVideo); cogRecordDisplay1.Fit(true); } } else { //"Open File" button when image file option is selected //DrawingEnabled is used to simply hide the image while the Fit is performed. //This prevents the image from being diplayed at the initial zoom factor //prior to fit being called. try { DialogResult result = ImageAcquisitionCommonDialog.ShowDialog(); if (result != System.Windows.Forms.DialogResult.Cancel) { ImageFileTool.Operator.Open(ImageAcquisitionCommonDialog.FileName, CogImageFileModeConstants.Read); cogRecordDisplay1.DrawingEnabled = false; ImageFileTool.Run(); cogRecordDisplay1.Fit(true); cogRecordDisplay1.DrawingEnabled = true; } } catch (CogException cogex) { MessageBox.Show("Following Specific Cognex Error Occured:" + cogex.Message); } catch (Exception ex) { MessageBox.Show("Following Error Occured:" + ex.Message); } cogToolBlockEditV21.Subject.Inputs["Image"].Value = cogRecordDisplay1.Image; //!!!!! Need to solve why pic doesn't get into tool } cogRecordDisplay1.Fit(true); }
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; }
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)); }
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); } }