Example #1
0
        /// <summary>
        /// Calibration is finished, starting PenTracker
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void StartTracking(object sender, EventArgs e)
        {
            var mCtor = _mapperType.GetConstructor(new Type[] { typeof(Grid) });

            _mapper = (AbstractPointMapper)mCtor.Invoke(new Grid[] { CalibratorGrid });
            Console.WriteLine("Calbration completed");
            _penTracker.Start();
            if (CalibrationComplete != null)
            {
                CalibrationComplete(this, null);
            }
        }
Example #2
0
        /// <summary>
        /// Calibration is finished, starting PenTracker
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void StartTracking(object sender, EventArgs e)
        {
            Console.WriteLine("Calibration completed");

            _qtc = new QuadrilateralTransformationCamera(CalibratorGrid.TopLeft, CalibratorGrid.TopRight,
                                                         CalibratorGrid.BottomLeft, CalibratorGrid.BottomRight, 4.0 / 3.0);
            _qtc.Height           = TransformHeight;
            _qtc.Width            = TransformWidth;
            _provider.FrameReady += ForwardImages;
#if DEBUG
            _qtc.FrameReady += StoreTransformedImage;
#endif
            // Initialize Pen Tracking Tools
            _penTracker           = new AForgePenTracker(new WhiteLedStrategy(), _qtc);
            _penTracker.PenFound += PenFound;
            _penTracker.Start();
            //_calibrator.Grid.PredictFromCorners();
        }
Example #3
0
        /// <summary>
        /// Calibration is finished, starting PenTracker
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void StartTracking(object sender, EventArgs e)
        {
            //_pictureProvider.ShowConfigurationDialog();
            //_pictureProvider.FrameReady += _camera_FrameReady; // TODO siehe _camera_FrameReady
            //_calibrator.Grid.Calculate();
            var mCtor = _mapperType.GetConstructor(new Type[] { typeof(Grid) });

            _mapper = (AbstractPointMapper)mCtor.Invoke(new Grid[] { CalibratorGrid });
            //_mapper = (AbstractPointMapper)Activator.CreateInstance(_mapperType,
            //    BindingFlags.CreateInstance, null, new Grid[] { CalibratorGrid });
            //if (_mapperType.Equals(typeof(LinearMapper))) // check for runtimeType
            //{
            //    ((LinearMapper)_mapper).Calculate();
            //}
#if DEBUG
            var bm = new Bitmap(640, 480);
            var sw = new Stopwatch();
            //for (int i = CalibratorGrid.TopLeft.X; i < CalibratorGrid.BottomRight.X; i++)
            //sw.Start();
            //try
            //{
            //    for (int i = 0; i < 640; i++)
            //    {
            //        Debug.WriteLine(i);
            //        for (int j = 0; j < 480; j++)
            //            //for (int j = CalibratorGrid.TopLeft.Y; j < CalibratorGrid.BottomRight.Y; j++)
            //        {
            //            //Debug.WriteLineIf(i == 639,j);
            //            if (CalibratorGrid.Contains(new Point(i, j)))
            //            {
            //                var position = _mapper.FromPresentation(i, j);
            //                if (position.X >= 0 && position.Y >= 0)
            //                    bm.SetPixel(i, j,
            //                                Color.FromArgb(255, (position.Y + 8192) % 160, //(position.Y + 8192)%160, 255));
            //                        (position.Y + 4096) % 256, 255));
            //            }
            //        }
            //    }
            //    sw.Stop();
            //}
            //catch (Exception ex)
            //{
            //    Debug.WriteLine(ex.Message);
            //}
            if (_mapperType.Equals(typeof(FineBarycentricMapper))) //check for runntimeType
            {
                var fbc = (FineBarycentricMapper)_mapper;
                var sum = 0.0;
                using (
                    var fs =
                        new StreamWriter(new FileStream(@"C:\Temp\aforge\perf.csv", FileMode.Append, FileAccess.Write)))
                {
                    foreach (var i in fbc.NeighbourUsedCount)
                    {
                        fs.Write(i + ",");
                        Console.Write(i + ", ");
                        sum += i;
                    }
                    fs.WriteLine();
                    fs.Flush();
                }
                Console.WriteLine("Average time per interpolation: " + ((double)sw.ElapsedMilliseconds / sum) + "ms");
            }
            bm.Save(@"C:\temp\daforge\grid.bmp", ImageFormat.MemoryBmp);
#endif
            Console.WriteLine("Calbration completed");
            _penTracker.Start();
            //_calibrator.Grid.PredictFromCorners();
        }