Exemplo n.º 1
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Configuring settings");
            var settings = new Zivid.NET.Settings
            {
                Acquisitions = { new Zivid.NET.Settings.Acquisition {
                                     Aperture     = 5.66,
                                     ExposureTime = Duration.FromMicroseconds(6500)
                                 } },
                Processing = { Filters = { Outlier = { Removal = { Enabled = true, Threshold = 5.0 } } } }
            };

            Console.WriteLine("Capturing frame");
            using (var frame = camera.Capture(settings))
            {
                var dataFile = "Frame.zdf";
                Console.WriteLine("Saving frame to file: " + dataFile);
                frame.Save(dataFile);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 2
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();
            var inputs = ReadInputs(camera);

            Console.WriteLine("Performing hand-eye calibration");
            var calibrationResult = Calibrator.CalibrateEyeToHand(inputs);

            if (calibrationResult)
            {
                Console.WriteLine("{0}\n{1}\n{2}", "Hand-eye calibration OK", "Result:", calibrationResult);
            }
            else
            {
                Console.WriteLine("Hand-eye calibration FAILED");
                Environment.ExitCode = 1;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: {0}", ex.Message);
            Environment.ExitCode = 1;
        }
    }
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            var zdfFile = Zivid.NET.Environment.DataPath + "/MiscObjects.zdf";

            Console.WriteLine("Initializing camera emulation using file: " + zdfFile);
            var camera = zivid.CreateFileCamera(zdfFile);

            Console.WriteLine("Capture a frame");
            var frame = camera.Capture();

            Console.WriteLine("Display the frame");
            visualizer.Show(frame);
            visualizer.ShowMaximized();
            visualizer.ResetToFit();

            Console.WriteLine("Run the visualizer. Block until window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 4
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            var resultFile = "result.zdf";

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Adjusting the iris");
            camera.UpdateSettings(s =>
            {
                s.Iris                      = 22;
                s.ExposureTime              = Duration.FromMicroseconds(8333);
                s.Filters.Outlier.Enabled   = true;
                s.Filters.Outlier.Threshold = 5;
            });

            Console.WriteLine("Capture a frame");
            var frame = camera.Capture();

            Console.WriteLine("Saving frame to file: " + resultFile);
            frame.Save(resultFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 5
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            var suggestSettingsParameters = new Zivid.NET.CaptureAssistant.SuggestSettingsParameters(Duration.FromMilliseconds(1200), Zivid.NET.CaptureAssistant.AmbientLightFrequency.none);
            Console.WriteLine("Running Capture Assistant with parameters: {0}", suggestSettingsParameters);
            var settingsList = Zivid.NET.CaptureAssistant.SuggestSettings(camera, suggestSettingsParameters);

            Console.WriteLine("Suggested settings are:");
            foreach (var settings in settingsList)
            {
                Console.WriteLine(settings);
            }

            Console.WriteLine("Capture (and merge) frames using automatically suggested settings");
            var hdrFrame = Zivid.NET.HDR.Capture(camera, settingsList);

            string resultFile = "result.zdf";
            Console.WriteLine("Saving frame to file: " + resultFile);
            hdrFrame.Save(resultFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 6
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            var Filename = "Zivid3D.zdf";
            Console.WriteLine("Reading " + Filename + " point cloud");
            var frame = new Zivid.NET.Frame(Filename);

            Console.WriteLine("Displaying the frame");
            visualizer.Show(frame);
            visualizer.ShowMaximized();
            visualizer.ResetToFit();

            Console.WriteLine("Running the visualizer. Blocking until the window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
    static void Main()
    {
        try
        {
            Console.WriteLine("Finding cameras");
            var zivid   = new Zivid.NET.Application();
            var cameras = zivid.Cameras;
            Console.WriteLine("Number of cameras found: {0}", cameras.Count);
            foreach (var camera in cameras)
            {
                Console.WriteLine("Connecting to camera: {0}", camera.Info.SerialNumber);
                camera.Connect();
            }

            var detectionResults = new List <DetectionResult>();
            foreach (var camera in cameras)
            {
                Console.WriteLine("Capturing frame with camera: {0}", camera.Info.SerialNumber);
                using (var frame = AssistedCapture(camera))
                {
                    Console.WriteLine("Detecting checkerboard in point cloud");
                    var detectionResult = Detector.DetectFeaturePoints(frame.PointCloud);
                    if (detectionResult)
                    {
                        detectionResults.Add(detectionResult);
                    }
                    else
                    {
                        throw new System.InvalidOperationException(
                                  "Could not detect checkerboard. Please ensure it is visible from all cameras.");
                    }
                }
            }

            Console.WriteLine("Performing Multi-camera calibration");
            var result = Calibrator.CalibrateMultiCamera(detectionResults);
            if (result)
            {
                Console.WriteLine("Multi-camera calibration OK.");
                var transforms = result.Transforms();
                var residuals  = result.Residuals();
                for (int i = 0; i < transforms.Length; i++)
                {
                    PrintMatrix(transforms[i]);
                    Console.WriteLine(residuals[i]
                                      .ToString());
                }
            }
            else
            {
                Console.WriteLine("Multi-camera calibration FAILED.");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: {0}", ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 8
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Setting the capture settings");
            var settings = new Zivid.NET.Settings2D()
            {
                Iris         = 22,
                ExposureTime = Duration.FromMicroseconds(10000),
                Gain         = 1.0
            };

            Console.WriteLine("Capture a 2D frame");
            var frame2D = camera.Capture2D(settings);

            Console.WriteLine("Get RGBA8 image from Frame2D");
            var image = frame2D.Image <Zivid.NET.RGBA8>();

            Console.WriteLine("Image Width: {0}, Height: {1}", image.Width, image.Height);
            Console.WriteLine("Pixel (0, 0): R={0}, G={1}, B={2}, A={3}",
                              image[0, 0].r,
                              image[0, 0].g,
                              image[0, 0].b,
                              image[0, 0].a);

            byte[] byteArray = image.ToArray();
            Console.WriteLine("First four bytes:  [0]: {0}, [1]: {1}, [2]: {2}, [3]: {3}",
                              byteArray[0],
                              byteArray[1],
                              byteArray[2],
                              byteArray[3]);

            var resultFile = "image.png";
            Console.WriteLine("Saving the image to {0}", resultFile);
            image.Save(resultFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 9
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            // This FileCamera file is in Zivid Sample Data. See instructions in README.md.
            var fileCamera = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
                             + "/Zivid/FileCameraZividOne.zfc";

            Console.WriteLine("Creating virtual camera using file: " + fileCamera);
            var camera = zivid.CreateFileCamera(fileCamera);

            Console.WriteLine("Configuring settings");
            var settings = new Zivid.NET.Settings
            {
                Acquisitions = { new Zivid.NET.Settings.Acquisition {
                                 } },
                Processing   = { Filters              = { Smoothing  = { Gaussian   = { Enabled  = true, Sigma = 1.5 } },
                                                          Reflection = { Removal    = { Enabled  = true } } },
                                 Color                  = { Balance    = { Red      = 1.0, Green = 1.0, Blue = 1.0 } } }
            };

            Console.WriteLine("Capturing frame");
            using (var frame = camera.Capture(settings))
            {
                Console.WriteLine("Setting up visualization");
                var visualizer = new Zivid.NET.Visualization.Visualizer();

                Console.WriteLine("Visualizing point cloud");
                visualizer.Show(frame);
                visualizer.ShowMaximized();
                visualizer.ResetToFit();

                Console.WriteLine("Running visualizer. Blocking until window closes");
                visualizer.Run();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 10
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Recording HDR source images");
            var frames = new List <Zivid.NET.Frame>();
            foreach (var iris in new ulong[] { 10, 25, 35 })
            {
                Console.WriteLine("Measure with iris = " + iris);
                camera.UpdateSettings(s =>
                {
                    s.Iris = iris;
                });
                frames.Add(camera.Capture());
            }

            Console.WriteLine("Creating HDR frame");
            var hdrFrame = Zivid.NET.HDR.CombineFrames(frames);

            Console.WriteLine("Display the frame");
            visualizer.ShowMaximized();
            visualizer.Show(hdrFrame);
            visualizer.ResetToFit();

            Console.WriteLine("Run the visualizer. Block until window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 11
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            visualizer.ShowMaximized();

            Console.WriteLine("Starting live capturing of frames");
            var resetToFit = true;
            camera.SetFrameCallback(frame => {
                visualizer.Show(frame);
                if (resetToFit)
                {
                    visualizer.ResetToFit();
                    resetToFit = false;
                }
                frame.Dispose();
            });

            camera.StartLive();

            Console.WriteLine("Run the visualizer. Block until window closes");
            visualizer.Run();

            Console.WriteLine("Stopping live capturing");
            camera.StopLive();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 12
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            var suggestSettingsParameters = new Zivid.NET.CaptureAssistant.SuggestSettingsParameters
            {
                AmbientLightFrequency =
                    Zivid.NET.CaptureAssistant.SuggestSettingsParameters.AmbientLightFrequencyOption.none,
                MaxCaptureTime = Duration.FromMilliseconds(1200)
            };

            Console.WriteLine("Running Capture Assistant with parameters:\n{0}", suggestSettingsParameters);
            var settings = Zivid.NET.CaptureAssistant.Assistant.SuggestSettings(camera, suggestSettingsParameters);

            Console.WriteLine("Settings suggested by Capture Assistant:");
            Console.WriteLine(settings.Acquisitions);

            Console.WriteLine("Manually configuring processing settings (Capture Assistant only suggests acquisition settings)");
            settings.Processing.Filters.Reflection.Removal.Enabled = true;
            settings.Processing.Filters.Smoothing.Gaussian.Enabled = true;
            settings.Processing.Filters.Smoothing.Gaussian.Sigma   = 1.5;

            Console.WriteLine("Capturing frame");
            using (var frame = camera.Capture(settings))
            {
                string dataFile = "Frame.zdf";
                Console.WriteLine("Saving frame to file: " + dataFile);
                frame.Save(dataFile);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 13
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            var dataFile =
                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "/Zivid/Zivid3D.zdf";
            var pointCloudFile = "Zivid3D.ply";

            var frame = new Zivid.NET.Frame(dataFile);

            Console.WriteLine("Saving point cloud to file: " + pointCloudFile);
            frame.Save(pointCloudFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 14
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            var dataFile =
                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "/Zivid/Zivid3D.zdf";
            Console.WriteLine("Reading ZDF frame from file: " + dataFile);
            var frame = new Zivid.NET.Frame(dataFile);

            Console.WriteLine("Getting point cloud from frame");
            var pointCloud = frame.PointCloud;

            Console.WriteLine("Size of point cloud before downsampling: " + pointCloud.Size + " data point");

            Console.WriteLine("Downsampling point cloud");
            pointCloud.Downsample(Zivid.NET.PointCloud.Downsampling.By2x2);

            Console.WriteLine("Size of point cloud after downsampling: " + pointCloud.Size + " data point");

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.Visualization.Visualizer();

            Console.WriteLine("Visualizing downsampled point cloud");
            visualizer.Show(pointCloud);
            visualizer.ShowMaximized();
            visualizer.ResetToFit();

            Console.WriteLine("Running visualizer. Blocking until window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 15
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            // This FileCamera file is in Zivid Sample Data. See instructions in README.md.
            var fileCamera = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
                             + "/Zivid/FileCameraZividOne.zfc";

            Console.WriteLine("Creating virtual camera using file: " + fileCamera);
            var camera = zivid.CreateFileCamera(fileCamera);

            Console.WriteLine("Configuring settings");
            var settings = new Zivid.NET.Settings
            {
                Acquisitions = { new Zivid.NET.Settings.Acquisition {
                                 } },
                Processing   = { Filters              = { Smoothing  = { Gaussian   = { Enabled  = true, Sigma = 1.5 } },
                                                          Reflection = { Removal    = { Enabled  = true } } },
                                 Color                  = { Balance    = { Red      = 1.0, Green = 1.0, Blue = 1.0 } } }
            };

            Console.WriteLine("Capturing frame");
            using (var frame = camera.Capture(settings))
            {
                var dataFile = "Result.zdf";
                Console.WriteLine("Saving frame to file: " + dataFile);
                frame.Save(dataFile);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Getting camera intrinsics");
            var intrinsics = Zivid.NET.Experimental.Calibration.Calibrator.Intrinsics(camera);

            Console.WriteLine(intrinsics.ToString());

            Console.WriteLine("Separated camera intrinsic parameters:");

            Console.WriteLine("    CX = " + intrinsics.CameraMatrix.CX.ToString());
            Console.WriteLine("    CY = " + intrinsics.CameraMatrix.CY.ToString());
            Console.WriteLine("    FX = " + intrinsics.CameraMatrix.FX.ToString());
            Console.WriteLine("    FY = " + intrinsics.CameraMatrix.FY.ToString());

            Console.WriteLine("    K1 = " + intrinsics.Distortion.K1.ToString());
            Console.WriteLine("    K2 = " + intrinsics.Distortion.K2.ToString());
            Console.WriteLine("    K3 = " + intrinsics.Distortion.K3.ToString());
            Console.WriteLine("    P1 = " + intrinsics.Distortion.K1.ToString());
            Console.WriteLine("    P2 = " + intrinsics.Distortion.K2.ToString());

            var intrinsicsFile = "Intrinsics.yml";
            Console.WriteLine("Saving camera intrinsics to file: " + intrinsicsFile);
            intrinsics.Save(intrinsicsFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 17
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            var zdfFile    = Zivid.NET.Environment.DataPath + "/MiscObjects.zdf";
            var resultFile = "result.zdf";

            Console.WriteLine("Initializing camera emulation using file: " + zdfFile);
            var camera = zivid.CreateFileCamera(zdfFile);

            Console.WriteLine("Capture a frame");
            var frame = camera.Capture();

            Console.WriteLine("Saving frame to file: " + resultFile);
            frame.Save(resultFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Configuring settings");
            var settings = new Zivid.NET.Settings
            {
                Acquisitions = { new Zivid.NET.Settings.Acquisition {
                                     Aperture     = 5.66,
                                     ExposureTime = Duration.FromMicroseconds(8333)
                                 } },
                Processing = { Filters = { Outlier = { Removal = { Enabled = true, Threshold = 5.0 } } } }
            };

            Console.WriteLine("Capturing frame");
            var frame      = camera.Capture(settings);
            var pointCloud = frame.PointCloud;

            Console.WriteLine("Converting to Halcon point cloud");
            HalconDotNet.HObjectModel3D objectModel3D = ZividToHalconPointCloud(pointCloud);

            string pointCloudFile = "Zivid3D.ply";
            Console.WriteLine("Saving point cloud to: " + pointCloudFile);
            SaveHalconPointCloud(objectModel3D, pointCloudFile);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 19
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Adjusting the iris");
            camera.UpdateSettings(s =>
            {
                s.Iris = 22;
            });

            Console.WriteLine("Capture a frame");
            var frame = camera.Capture();

            Console.WriteLine("Display the frame");
            visualizer.Show(frame);
            visualizer.ShowMaximized();
            visualizer.ResetToFit();

            Console.WriteLine("Run the visualizer. Block until window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Configuring global processing settings:");
            var settings = new Zivid.NET.Settings()
            {
                Experimental = { Engine = Zivid.NET.Settings.ExperimentalGroup.EngineOption.Phase },
                Processing   = { Filters                                                                   = { Smoothing    = { Gaussian           = { Enabled    = true, Sigma     = 1.5 } },
                                                                                                               Noise        = { Removal            = { Enabled    = true, Threshold = 7.0 } },
                                                                                                               Outlier      = { Removal            = { Enabled    = true, Threshold = 5.0 } },
                                                                                                               Reflection   = { Removal            = { Enabled    = true } },
                                                                                                               Experimental = { ContrastDistortion = { Correction         = { Enabled                                                                   = true,
                                                                                                                                                                                                                                               Strength =                                                                                      0.4 },
                                                                                                                                                                                                                        Removal                                                                                      = { Enabled   = true,
                                                                                                                                                                                                                                                                                                                         Threshold =                                                                       0.5 } } } },
                                 Color                                                                       = { Balance            = { Red        = 1.0, Green = 1.0, Blue = 1.0 }, Gamma = 1.0 } }
            };
            Console.WriteLine(settings);

            Console.WriteLine("Configuring base acquisition with settings same for all HDR acquisitions:");
            var baseAcquisition = new Zivid.NET.Settings.Acquisition {
                Brightness = 1.8
            };
            Console.WriteLine(baseAcquisition);

            Console.WriteLine("Configuring acquisition settings different for all HDR acquisitions:");
            Tuple <double[], int[], double[]> exposureValues = GetExposureValues(camera);
            double[] aperture     = exposureValues.Item1;
            int[]    exposureTime = exposureValues.Item2;
            double[] gain         = exposureValues.Item3;
            for (int i = 0; i < aperture.Length; i++)
            {
                Console.WriteLine("Acquisition {0}:", i + 1);
                Console.WriteLine("  Exposure Time: {0}", exposureTime[i]);
                Console.WriteLine("  Aperture: {0}", aperture[i]);
                Console.WriteLine("  Gain: {0}", gain[i]);
                var acquisitionSettings = baseAcquisition.CopyWith(s =>
                {
                    s.Aperture     = aperture[i];
                    s.ExposureTime = Duration.FromMicroseconds(exposureTime[i]);
                    s.Gain         = gain[i];
                });
                settings.Acquisitions.Add(acquisitionSettings);
            }

            Console.WriteLine("Capturing frame (HDR)");
            using (var frame = camera.Capture(settings))
            {
                Console.WriteLine("Complete settings used:");
                Console.WriteLine(frame.Settings);

                var dataFile = "Frame.zdf";
                Console.WriteLine("Saving frame to file: " + dataFile);
                frame.Save(dataFile);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 21
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Setting up visualization");
            var visualizer = new Zivid.NET.CloudVisualizer();
            zivid.DefaultComputeDevice = visualizer.ComputeDevice;

            Console.WriteLine("Connecting to the camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Recording HDR source images");
            var frames = new List <Zivid.NET.Frame>();

            camera.UpdateSettings(s =>
            {
                s.Iris                       = 10;
                s.ExposureTime               = Duration.FromMicroseconds(10000);
                s.Brightness                 = 1;
                s.Gain                       = 1;
                s.Bidirectional              = false;
                s.Filters.Contrast.Enabled   = true;
                s.Filters.Contrast.Threshold = 5;
                s.Filters.Gaussian.Enabled   = true;
                s.Filters.Gaussian.Sigma     = 1.5;
                s.Filters.Outlier.Enabled    = true;
                s.Filters.Outlier.Threshold  = 5;
                s.Filters.Reflection.Enabled = true;
                s.Filters.Saturated.Enabled  = true;
                s.BlueBalance                = 1.081;
                s.RedBalance                 = 1.709;
            });

            ulong[] iris     = { 10, 20, 30 };
            long[]  exposure = { 10000, 20000, 30000 };

            for (int i = 0; i < 3; ++i)
            {
                camera.UpdateSettings(s =>
                {
                    s.Iris         = iris[i];
                    s.ExposureTime = Duration.FromMicroseconds(exposure[i]);
                });
                frames.Add(camera.Capture());
                Console.WriteLine("Frame " + (i + 1) + " " + camera.Settings.ToString());
            }

            Console.WriteLine("Creating the HDR frame");
            var hdrFrame = Zivid.NET.HDR.CombineFrames(frames);

            Console.WriteLine("Saving the frames");
            frames[0].Save("10.zdf");
            frames[1].Save("20.zdf");
            frames[2].Save("30.zdf");
            hdrFrame.Save("HDR.zdf");

            Console.WriteLine("Displaying the HDR frame");
            visualizer.ShowMaximized();
            visualizer.Show(hdrFrame);
            visualizer.ResetToFit();

            Console.WriteLine("Running the visualizer. Blocking until the window closes");
            visualizer.Run();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 22
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            Console.WriteLine("Connecting to camera");
            var camera = zivid.ConnectCamera();

            Console.WriteLine("Configuring 2D settings");
            // Note: The Zivid SDK supports 2D captures with a single acquisition only
            var settings2D = new Zivid.NET.Settings2D
            {
                Acquisitions = { new Zivid.NET.Settings2D.Acquisition {
                                     Aperture = 11.31, ExposureTime = Duration.FromMicroseconds(30000), Gain = 2.0, Brightness = 1.80
                                 } },
                Processing = { Color = { Balance = { Red = 1.0, Blue = 1.0, Green = 1.0 }, Gamma = 1.0 } }
            };

            Console.WriteLine("Capturing 2D frame");
            using (var frame2D = camera.Capture(settings2D))
            {
                Console.WriteLine("Getting RGBA image");
                var image    = frame2D.ImageRGBA();
                var pixelRow = 100;
                var pixelCol = 50;

                Console.WriteLine("Extracting 2D pixel array");
                var pixelArray = image.ToArray();
                Console.WriteLine("Height: {0}, Width: {1}", pixelArray.GetLength(0), pixelArray.GetLength(1));
                Console.WriteLine("Color at pixel ({0},{1}):  R:{2}  G:{3}  B:{4}  A:{5}",
                                  pixelRow,
                                  pixelCol,
                                  pixelArray[pixelRow, pixelCol].r,
                                  pixelArray[pixelRow, pixelCol].g,
                                  pixelArray[pixelRow, pixelCol].b,
                                  pixelArray[pixelRow, pixelCol].a);

                Console.WriteLine("Extracting 3D array of bytes");
                var nativeArray = image.ToByteArray();
                Console.WriteLine("Height: {0}, Width: {1}, Channels: {2}",
                                  nativeArray.GetLength(0),
                                  nativeArray.GetLength(1),
                                  nativeArray.GetLength(2));
                Console.WriteLine("Color at pixel ({0},{1}):  R:{2}  G:{3}  B:{4}  A:{5}",
                                  pixelRow,
                                  pixelCol,
                                  nativeArray[pixelRow, pixelCol, 0],
                                  nativeArray[pixelRow, pixelCol, 1],
                                  nativeArray[pixelRow, pixelCol, 2],
                                  nativeArray[pixelRow, pixelCol, 3]);

                var imageFile = "Image.png";
                Console.WriteLine("Saving image to file: {0}", imageFile);
                image.Save(imageFile);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }
Exemplo n.º 23
0
    static void Main()
    {
        try
        {
            var zivid = new Zivid.NET.Application();

            var dataFile =
                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "/Zivid/Zivid3D.zdf";
            Console.WriteLine("Reading ZDF frame from file: " + dataFile);
            var frame = new Zivid.NET.Frame(dataFile);

            Console.WriteLine("Getting point cloud from frame");
            var pointCloud     = frame.PointCloud;
            var pointCloudData = pointCloud.CopyPointsXYZColorsRGBA();
            var pointCloudSNR  = pointCloud.CopySNRs();

            var height = pointCloud.Height;
            var width  = pointCloud.Width;
            Console.WriteLine("Point cloud information:");
            Console.WriteLine("Number of points: " + pointCloud.Size + "\n" + "Height: " + height
                              + ", Width: " + width);

            const ulong pixelsToDisplay = 10;
            Console.WriteLine(
                "Iterating over point cloud and extracting X, Y, Z, R, G, B, and SNR for central {0} x {1} pixels",
                pixelsToDisplay,
                pixelsToDisplay);
            ulong iStart = (height - pixelsToDisplay) / 2;
            ulong iStop  = (height + pixelsToDisplay) / 2;
            ulong jStart = (width - pixelsToDisplay) / 2;
            ulong jStop  = (width + pixelsToDisplay) / 2;
            for (ulong i = iStart; i < iStop; i++)
            {
                for (ulong j = jStart; j < jStop; j++)
                {
                    Console.WriteLine(string.Format(
                                          "{0} {1} {2,-7} {3} {4,-7} {5} {6,-7} {7} {8,-7} {9} {10,-7} {11} {12,-7} {13} {14,-7}",
                                          "Values at pixel (" + i + "," + j + "):  ",
                                          "X:",
                                          pointCloudData[i, j].point.x.ToString("F1"),
                                          "Y:",
                                          pointCloudData[i, j].point.y.ToString("F1"),
                                          "Z:",
                                          pointCloudData[i, j].point.z.ToString("F1"),
                                          "R:",
                                          pointCloudData[i, j].color.r.ToString(),
                                          "G:",
                                          pointCloudData[i, j].color.g.ToString(),
                                          "B:",
                                          pointCloudData[i, j].color.b.ToString(),
                                          "SNR:",
                                          pointCloudSNR[i, j]
                                          .ToString("F1")));
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
            Environment.ExitCode = 1;
        }
    }