//Red 툴 결과 영상 얻기 public void GetRedToolResultImage(string strToolName, out Bitmap bmpOverlay, out Bitmap bmpViewImage) { // retrieve the marking for the red tool called 'analyze' //'분석'이라는 빨간 색 도구에 대한 표시 검색 IRedMarking redMarking = m_Sample.Markings[strToolName] as IRedMarking; // gets the overlay image //오버레이 이미지를 가져옵니다. bmpOverlay = redMarking.OverlayImage(0).Bitmap; bmpViewImage = redMarking.ViewImage(0).Bitmap; }
public MainWindow() { InitializeComponent(); m_Control = new ViDi2.Runtime.Local.Control(); m_Control.Workspaces.Add("jesus", @"C:\Users\jkhong\Desktop\IDontKnow3.vrws"); m_Workspace = m_Control.Workspaces.First(); m_Stream = m_Workspace.Streams.First(); using (IImage image = new ViDi2.VisionPro.Image(new CogImage24PlanarColor(new Bitmap(@"C:\Users\jkhong\Desktop\라벨.bmp")))) { ISample sample = m_Stream.Process(image); IRedMarking red = null; IImage result = null; foreach (var a in sample.Markings) { red = a.Value as IRedMarking; result = red.OverlayImage(0, ""); result.Bitmap.Save(@"C:\Users\jkhong\Desktop\babo.bmp", System.Drawing.Imaging.ImageFormat.Bmp); } IImage resultOriginal = red.ViewImage(0); //var aa = red.Views[0] as IRedView; //aa. //result = aa.HeatMap; result.Bitmap.Save(@"C:\Users\jkhong\Desktop\babo.bmp", System.Drawing.Imaging.ImageFormat.Bmp); imageControl.Source = Convert(resultOriginal.Bitmap); imageControl_Copy.Source = Convert(result.Bitmap); } }
//Red 툴 결과 처리 public bool GetRedToolResult(string strToolName, out double dScore, out Bitmap bmpOverlay, out Bitmap bmpViewImage) { dScore = 99999.0; bmpOverlay = new Bitmap(10, 10); bmpViewImage = new Bitmap(10, 10); try { // retrieve the marking for the red tool called 'analyze' //'분석'이라는 빨간 색 도구에 대한 표시 검색 IRedMarking redMarking = m_Sample.Markings[strToolName] as IRedMarking; // gets the overlay image //오버레이 이미지를 가져옵니다. //IImage m_OverlayImage = redMarking.OverlayImage(0); //IImage m_ViewImage = redMarking.ViewImage(0); // -scale // cale of the overlay // -hide_heat_map // hide the heat map from the overlay of a red tool // - hide_mask // hide the mask from the overlay // -hide_regions // hide the contour region of the defect found in a red tool // - hide_red_score // hide the score of the bottom left corner of a red tool // -hide_secondary_classes // hide the second class found of a green tool // - hide_matches // hide the model matches of a blue tool // - fit_size size of the image usage example: fit_size 640x480, hide_mask,hide_region bmpOverlay = redMarking.OverlayImage(0).Bitmap; //bmpOverlay = redMarking.OverlayImage(0, "hide_heat_map" ).Bitmap; bmpViewImage = redMarking.ViewImage(0).Bitmap; if (redMarking != null) { int countPositive = 0; int countIntermediate = 0; foreach (IRedView view in redMarking.Views) { if (view.Score > view.Threshold.Upper) { countPositive++; } else if (view.Score > view.Threshold.Lower) { countIntermediate++; } if (dScore > view.Score) { dScore = view.Score; } } bmpOverlay = redMarking.OverlayImage(0, "hide_heat_map").Bitmap; } else { return(false); } } catch (Exception) { return(false); } return(true); }