Exemplo n.º 1
0
 protected override bool Setup()
 {
     //devices.Add(new GestureCamera(@"."));
     devices.Add(new PlayBackDevice(@"C:\Users\PerC\Desktop\capture"));
     AdaptiveTemporalFilter filter;
     RedEyeDetector detector;
     processors.Add(detector = new RedEyeDetector());
     filters.Add(filter = new AdaptiveTemporalFilter());
     renderers.Add(new CameraSetupRender(CameraSetupRender.SceneType.GL3D));
     renderers.Add(new QuadSurfaceRender());
     renderers.Add(new RedEyeRender3D(detector));
     renderers.Add(new CameraSetupRender(CameraSetupRender.SceneType.GL2D));
     renderers.Add(new RedEyeRender2D(detector));
     return true;
 }
Exemplo n.º 2
0
        public void Initialize(BaseCameraApplication capture)
        {
            DepthCameraFrame depthImage = capture.GetPrimaryDevice().GetDepthImage();
            this.width = depthImage.Width;
            this.height = depthImage.Height;
            this.filter = ((AdaptiveTemporalFilter)capture.GetImageFilter());
            CvSize sz = new CvSize(depthImage.Width, depthImage.Height);
            gray = new IplImage(sz, BitDepth.U8, 1);
            erode = new IplImage(sz, BitDepth.U8, 1);
            dilate = new IplImage(sz, BitDepth.U8, 1);
            tmp = new IplImage(sz, BitDepth.U8, 1);
            mask = new IplImage(sz, BitDepth.U8, 1);
            imgLabel = new IplImage(sz, BitDepth.F32, 1);
            faceDetectionBuffer = CLCalc.Program.Variable.Create(new ComputeBuffer<FaceLandmarks>(CLCalc.Program.Context, ComputeMemoryFlags.ReadWrite, 1));
            try
            {
                CLCalc.Program.Compile(capture.GetPrimaryDevice().GetPreprocessCode() + src);

            }
            catch (BuildProgramFailureComputeException ex)
            {
                System.Console.WriteLine(ex.Message);
                Environment.Exit(1);
            }
            irImageBuffer = CLCalc.Program.Variable.Create(new ComputeBuffer<byte>(CLCalc.Program.Context, ComputeMemoryFlags.ReadWrite | ComputeMemoryFlags.CopyHostPointer, ir = new byte[width * height]));
            kernelCopyIRImage = new CLCalc.Program.Kernel("CopyIRImage");
            kernelFindFaceLandmarks = new CLCalc.Program.Kernel("FindFaceLandmarks");
        }