コード例 #1
0
ファイル: Program.cs プロジェクト: schmijos/Magic-Whiteboard
        private static void Main8(string[] args)
        {
            //_virtualCam = new VirtualCamera();
            //_virtualCam.Start();
            //var parser = new QuadrilateralDataParser(_virtualCam, _virtualCam);
            var cam = new TimedFilesystemCamera(new DirectoryInfo(@"C:\temp\daforge\inph"));
            var visualizerControl = new VisualizerDummy();

            cam.Start();
            var parser = new QuadrilateralDataParser(cam, visualizerControl);

            parser.Start();
            parser.PenPositionChanged += NewPoint;
            Console.Read();
            //while (true)
            //{
            //    Thread.Sleep(10000);
            //    //_virtualCam.Clear();
            //    _virtualCam.AddRect(500, 500, 15, 15, Color.Red);
            //    _virtualCam.AddRect(530, 530, 15, 15, Color.Black);
            //    _virtualCam.Draw();
            //    Thread.Sleep(30);
            //    //_virtualCam.Clear();
            //    _virtualCam.AddRect(500, 500, 15, 15, Color.Black);
            //    _virtualCam.AddRect(530, 530, 15, 15, Color.Red);
            //    _virtualCam.Draw();
            //    Debug.WriteLine("Drew Point");
            //}
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: schmijos/Magic-Whiteboard
        static void Main7(string[] args)
        {
            var cam = new TimedFilesystemCamera(new DirectoryInfo(@"C:\temp\daforge\inph"));
            var visualizerControl = new VisualizerDummy();

            cam.Start();
            var calib  = new SimpleAForgeCalibrator(cam, visualizerControl);
            var pt     = new AForgePenTracker(new RedLaserStrategy(), cam);
            var parser = new DataParser(calib, pt, typeof(CornerBarycentricMapper));

            parser.Start();
            parser.PenPositionChanged += NewPoint;
            Console.Read();
            Console.WriteLine("again");
            Thread.Sleep(1000);
            parser.Start();
            Console.Read();
        }
コード例 #3
0
        public static void TrackPenOnLibrary()
        {
            Console.WriteLine("Starting...");

            TimedFilesystemCamera camera  = new TimedFilesystemCamera(new DirectoryInfo(@"c:\temp\live\cap-127"), 1);
            AForgePenTracker      tracker = new AForgePenTracker(new WhiteLedStrategy(), camera);

            camera.FrameReady += delegate(object o, FrameReadyEventArgs e) {
                Console.WriteLine("Cam Frame: {0}", e.Frame.Number);
            };

            tracker.PenFound += delegate(object o, PenFoundEventArgs e) {
                PointFrame p = e.Frame;
                Console.WriteLine("-> Found {0} at {1},{2}", p.Number, p.Point.X, p.Point.Y);
            };

            tracker.Start();
            camera.Start();

            Console.WriteLine("Tracker and Camera Started.");
            Console.ReadLine();
        }
コード例 #4
0
        public MainWindow()
        {
            InitializeComponent();
            //MockCameraConnector cameraConnector = new MockCameraConnector();
            //var parser = new DataParser(); // TODO
            //parser.Start();
            //cameraConnector.NewImage += delegate(object sender, NewImageEventArgs args)
            TimedFilesystemCamera cameraConnector = new TimedFilesystemCamera(new DirectoryInfo(@"C:\temp\images\light"));

            //var parser = new DataParser(cameraConnector); // TODO
            //parser.Start();
            cameraConnector.FrameReady += delegate(object sender, FrameReadyEventArgs args)
            {
                MemoryStream ms = new MemoryStream();
                //args.NewImage.GetVisual().Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                ms.Position = 0;
                var bi = new BitmapImage();
                bi.BeginInit();
                bi.StreamSource = ms;
                bi.EndInit();
                Action a = delegate { Img.Source = bi; };
                Img.Dispatcher.Invoke(a);
            };
        }