Example #1
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;
        }
    }
Example #2
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;
        }
    }
    static Zivid.NET.Frame AssistedCapture(Zivid.NET.Camera camera)
    {
        var suggestSettingsParameters = new Zivid.NET.CaptureAssistant.SuggestSettingsParameters
        {
            AmbientLightFrequency =
                Zivid.NET.CaptureAssistant.SuggestSettingsParameters.AmbientLightFrequencyOption.none,
            MaxCaptureTime = Duration.FromMilliseconds(800)
        };
        var settings = Zivid.NET.CaptureAssistant.Assistant.SuggestSettings(camera, suggestSettingsParameters);

        return(camera.Capture(settings));
    }
    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;
        }
    }
    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;
        }
    }
    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;
        }
    }
    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;
        }
    }
Example #8
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;
        }
    }
Example #9
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;
        }
    }
    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;
        }
    }