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"; }
//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; }