예제 #1
0
 public void Close()
 {
     _Arm = null;
     cancellationTokenSource.Cancel();
     _Window = null;
     NamedWindow.DestroyAllWindows();
 }
예제 #2
0
        public static void DetectFace(Capture capture)
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data", "haarcascades_cuda", "haarcascade_frontalface_alt.xml");

            var cascade = HaarClassifierCascade.Load(path);
            var storage = new MemStorage();
            var size    = new Size(40, 40);


            using (var window = new NamedWindow("test"))
            {
                while (CV.WaitKey(1) < 0)
                {
                    using (var image = capture.QueryFrame())
                    {
                        if (image == null)
                        {
                            break;
                        }

                        var faces = cascade.DetectObjects(image, storage, 1.1, 3, 0, size);

                        foreach (var rect in faces.ToArray <Rect>())
                        {
                            CV.Rectangle(image, new Point(rect.X, rect.Y), new Point(rect.X + rect.Width, rect.Y + rect.Height), new Scalar(255, 0, 0), 1, LineFlags.Connected8, 0);
                            window.ShowImage(image);
                        }
                    }
                }
            }
        }
예제 #3
0
 public CreateNWAllInOneMgmtCallback(
     NamedWindow namedWindow,
     AgentInstanceMgmtCallback optionalEnvStopCallback)
 {
     _namedWindow = namedWindow;
     _optionalEnvStopCallback = optionalEnvStopCallback;
 }
예제 #4
0
        /// <summary>
        /// 画像をウィンドウに表示します。
        /// </summary>
        /// <param name="bmp">表示するBitmapクラスオブジェクトを指定します。</param>
        /// <param name="winname">ウィンドウタイトルを指定します。</param>
        /// <returns>表示されたウィンドウオブジェクト</returns>
        public static NamedWindow Imshow(this System.Drawing.Bitmap bmp, string winname)
        {
            var window = new NamedWindow(winname);

            window.Imshow(bmp);

            return(window);
        }
예제 #5
0
 protected override InfraOnExprBaseViewFactory SetupFactory(
     EventType infraEventType,
     NamedWindow namedWindow,
     Table table,
     StatementContext statementContext)
 {
     return new InfraOnDeleteViewFactory(infraEventType);
 }
예제 #6
0
 public CameraController(ArmBase arm)
 {
     _Arm    = arm;
     _Window = new NamedWindow("Arm camera", WindowFlags.KeepRatio);
     _Arm?.MoveToRelativeAsync(armAngle, armDistance, armHeight);
     Task.Factory.StartNew(CameraLoop);
     _Window.SetMouseCallback(OnMOuseCallback);
 }
예제 #7
0
        /// <summary>
        /// 画像をウィンドウに表示します。
        /// </summary>
        /// <param name="bmp">表示するBitmapクラスオブジェクトを指定します。</param>
        /// <param name="window">表示先のウィンドウオブジェクトを指定します。</param>
        /// <returns>表示したウィンドウオブジェクト</returns>
        public static NamedWindow Imshow(this System.Drawing.Bitmap bmp, NamedWindow window = null)
        {
            if (window == null)
            {
                window = new NamedWindow();
            }
            window.Imshow(bmp);

            return(window);
        }
예제 #8
0
 public NamedWindowTailViewInstance(
     NamedWindowRootViewInstance rootViewInstance,
     NamedWindowTailView tailView,
     NamedWindow namedWindow,
     AgentInstanceContext agentInstanceContext)
 {
     _rootViewInstance = rootViewInstance;
     _tailView = tailView;
     _namedWindow = namedWindow;
     _agentInstanceContext = agentInstanceContext;
     _consumersInContext = NamedWindowUtil.CreateConsumerMap(tailView.IsPrioritized);
     _latchFactory = tailView.MakeLatchFactory();
 }
예제 #9
0
        public void Add(
            string windowName,
            NamedWindowMetaData metadata,
            EPStatementInitServices services)
        {
            NamedWindow existing = namedWindows.Get(windowName);
            if (existing != null) {
                throw new IllegalStateException("Named window processor already found for name '" + windowName + "'");
            }

            NamedWindow namedWindow = services.NamedWindowFactoryService.CreateNamedWindow(metadata, services);
            namedWindows.Put(windowName, namedWindow);
        }
예제 #10
0
 public NamedWindowInstance(
     NamedWindow processor,
     AgentInstanceContext agentInstanceContext)
 {
     RootViewInstance = new NamedWindowRootViewInstance(
         processor.RootView,
         agentInstanceContext,
         processor.EventTableIndexMetadata);
     TailViewInstance = new NamedWindowTailViewInstance(
         RootViewInstance,
         processor.TailView,
         processor,
         agentInstanceContext);
     RootViewInstance.DataWindowContents = TailViewInstance; // for iteration used for delete without index
 }
예제 #11
0
        public static NamedWindow ResolveNamedWindow(
            string namedWindowName,
            NameAccessModifier visibility,
            string optionalModuleName,
            EPStatementInitServices services)
        {
            string deploymentId = ResolveDeploymentId(namedWindowName, visibility, optionalModuleName, services);
            NamedWindow namedWindow =
                services.NamedWindowManagementService.GetNamedWindow(deploymentId, namedWindowName);
            if (namedWindow == null) {
                throw new EPException("Failed to resolve named window '" + namedWindowName + "'");
            }

            return namedWindow;
        }
예제 #12
0
 protected override InfraOnExprBaseViewFactory SetupFactory(
     EventType infraEventType,
     NamedWindow namedWindow,
     Table table,
     StatementContext statementContext)
 {
     return new InfraOnSelectViewFactory(
         infraEventType,
         IsAddToFront,
         IsDistinct,
         DistinctKeyGetter,
         IsSelectAndDelete,
         null,
         OptionalInsertIntoTable,
         IsInsertInto,
         ResultSetProcessorFactoryProvider);
 }
예제 #13
0
 public static void GrayCapture(Capture capture)
 {
     using (var window = new NamedWindow("test"))
     {
         while (CV.WaitKey(10) < 0)                 //laisse la main
         {
             using (var src = capture.QueryFrame()) // recupere une image
             {
                 if (src == null)
                 {
                     break;
                 }
                 using (var gray = new IplImage(src.Size, IplDepth.U8, 1)) //filtre
                     using (var dstCanny = new IplImage(src.Size, IplDepth.U8, 1))
                     {
                         CV.CvtColor(src, gray, ColorConversion.Bgr2Gray);
                         CV.Canny(gray, dstCanny, 50, 50);
                         window.ShowImage(dstCanny);
                     }
             }
         }
     }
 }
예제 #14
0
 private static void GrayCapture(Capture capture)
 {
     using (var window = new NamedWindow("test"))
     {
         while (CV.WaitKey(10) < 0) //laisse la main
         {
             using (var src = capture.QueryFrame())// recupere une image
             {
                 if (src == null)
                 {
                     break;
                 }
                 using (var gray = new IplImage(src.Size, IplDepth.U8, 1)) //filtre
                 using (var dstCanny = new IplImage(src.Size, IplDepth.U8, 1))
                 {
                     CV.CvtColor(src, gray, ColorConversion.Bgr2Gray);
                     CV.Canny(gray, dstCanny, 50, 50);
                     window.ShowImage(dstCanny);
                 }
             }
         }
     }
 }
예제 #15
0
파일: Program.cs 프로젝트: auriou/SampleRA
        static void Main(string[] args)
        {
            //détourage
            using (var capture = Capture.CreateCameraCapture(0))
            {
                using (var window = new NamedWindow("test"))
                {
                    while (CV.WaitKey(10) < 0)                                        //laisse la main
                    {
                        using (var src = capture.QueryFrame())                        // recupere une image
                            using (var gray = new IplImage(src.Size, IplDepth.U8, 1)) //filtre
                                using (var dstCanny = new IplImage(src.Size, IplDepth.U8, 1))
                                {
                                    CV.CvtColor(src, gray, ColorConversion.Bgr2Gray);
                                    CV.Canny(gray, dstCanny, 50, 50);
                                    window.ShowImage(dstCanny);
                                }
                    }
                }
            }


            //var fileCapture = Capture.CreateFileCapture("/path/to/your/video/test.avi");
        }
예제 #16
0
파일: Program.cs 프로젝트: auriou/SampleRA
        static void Main(string[] args)
        {
            //détourage
            using (var capture = Capture.CreateCameraCapture(0))
            {
                using (var window = new NamedWindow("test"))
                {
                    while (CV.WaitKey(10) < 0) //laisse la main
                    {
                        using (var src = capture.QueryFrame())// recupere une image
                        using (var gray = new IplImage(src.Size, IplDepth.U8, 1)) //filtre
                        using (var dstCanny = new IplImage(src.Size, IplDepth.U8, 1))
                        {
                            CV.CvtColor(src, gray, ColorConversion.Bgr2Gray);
                            CV.Canny(gray, dstCanny, 50, 50);
                            window.ShowImage(dstCanny);
                        }
                    }
                }
            }


            //var fileCapture = Capture.CreateFileCapture("/path/to/your/video/test.avi");
        }