Beispiel #1
0
    private void updateCam()
    {
        if (camera != null)
        {
            if (lastCameraUpdate.ElapsedMilliseconds > CAPTURELIMIT || cameraImage == null)
            {
                cameraImage = camera.GetImage();

                leftStream = cameraImage.ColorImage;
                if (showContrast)
                {
                    rightStream = algorithm.PreviewImage(cameraImage);
                }
                else
                {
                    rightStream = cameraImage.DepthImage;
                }

                leftStream.Apply();
                rightStream.Apply();

                lastCameraUpdate.Reset();
                lastCameraUpdate.Start();
            }
            else if (!lastCameraUpdate.IsRunning)
            {
                lastCameraUpdate.Start();
            }
        }
    }
        public Texture2D PreviewImage(ColorDepthImage image)
        {
            colorImage   = image.ColorImage;
            depthImage   = image.DepthImage;
            averageColor = ImageUtils.CalculateAverageColor(image.ColorImage);
            float stdDev = ImageUtils.CalculateStandardColorDeviation(colorImage, averageColor);

            averageColor = ImageUtils.CalculateAverageColor(image.ColorImage, averageColor, stdDev, STDEV);
            Contrastify(averageColor);
            return(contrastImage);
        }
        public void ProcessImage(ICamera cam, ColorDepthImage image)
        {
            camera = cam;
            camera.SetImage(image);
            colorImage = image.ColorImage;
            depthImage = image.DepthImage;

            //Calculate the initial average color and standard deviation
            averageColor = ImageUtils.CalculateAverageColor(colorImage);
            float stdDev = ImageUtils.CalculateStandardColorDeviation(colorImage, averageColor);

            //Refine average color
            averageColor = ImageUtils.CalculateAverageColor(colorImage, averageColor, stdDev, STDEV);

            //Maximize contrast in image and save the new image
            Contrastify(averageColor);
            //File.WriteAllBytes("contrast.png", contrastImage.EncodeToPNG());

            //Identify clumps
            CalculateTableNormal();
            Clumpify();
            logText = "Algorithm Log\n\n";
        }
Beispiel #4
0
 //Reset all the goods
 public void OnRecompile()
 {
     //
     if (camera != null)
     {
         camera.StopCapture();
     }
     camera              = null;
     algorithm           = new ColorTrackingAlgorithm();
     lastCameraUpdate    = new Stopwatch();
     leftStream          = null;
     rightStream         = null;
     cameraImage         = null;
     isStreaming         = false;
     streamText          = "Start Stream";
     scanCount           = 0;
     justRecompiled      = false;
     showContrast        = false;
     rightStreamLabel    = "Depth Stream";
     leftStreamLabel     = "RGB Stream";
     updateGUI           = true;
     selectedCameraIndex = 1;
 }