コード例 #1
0
        //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;
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        //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);
        }