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 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; } }
static void Main() { try { var zivid = new Zivid.NET.Application(); Console.WriteLine("Connecting to camera"); var camera = zivid.ConnectCamera(); Console.WriteLine("Configuring settings from file"); var cameraModel = camera.Info.ModelName.Substring(0, 9); var settingsFile = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "/Zivid/Settings/" + cameraModel + "/Settings01.yml"; var settings = new Zivid.NET.Settings(settingsFile); 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 void Main() { try { var zivid = new Zivid.NET.Application(); Console.WriteLine("Connecting to the camera"); var camera = zivid.ConnectCamera(); var fileNameIntrinsics = "intrinsics.yml"; Console.WriteLine("Saving camera intrinsics to " + fileNameIntrinsics); camera.Intrinsics.save(fileNameIntrinsics); Console.WriteLine(camera.Intrinsics.ToString()); Console.WriteLine("CX = " + camera.Intrinsics.CameraMatrix.CX.ToString()); Console.WriteLine("CY = " + camera.Intrinsics.CameraMatrix.CY.ToString()); Console.WriteLine("FX = " + camera.Intrinsics.CameraMatrix.FX.ToString()); Console.WriteLine("FY = " + camera.Intrinsics.CameraMatrix.FY.ToString()); Console.WriteLine("K1 = " + camera.Intrinsics.Distortion.K1.ToString()); Console.WriteLine("K2 = " + camera.Intrinsics.Distortion.K2.ToString()); Console.WriteLine("K3 = " + camera.Intrinsics.Distortion.K3.ToString()); Console.WriteLine("P1 = " + camera.Intrinsics.Distortion.K1.ToString()); Console.WriteLine("P2 = " + camera.Intrinsics.Distortion.K2.ToString()); } 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(); foreach (var aperture in new double[] { 9.57, 4.76, 2.59 }) { Console.WriteLine("Adding acquisition with aperture = " + aperture); var acquisitionSettings = new Zivid.NET.Settings.Acquisition { Aperture = aperture }; settings.Acquisitions.Add(acquisitionSettings); } Console.WriteLine("Capturing frame (HDR)"); 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 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("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("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("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; } }
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; } }
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 } } }; 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; } }
static void Main(string[] args) { try { Mode mode = ParseMode(args); var zivid = new Zivid.NET.Application(); Console.WriteLine("Connecting to camera"); var camera = zivid.ConnectCamera(); CheckUserDataSupport(camera); switch (mode) { case Mode.read: Console.WriteLine("Reading user data from camera"); Console.WriteLine("Done. User data: '" + Read(camera) + "'"); break; case Mode.write: var userData = ParseWriteData(args); Console.WriteLine("Writing '" + userData + "' to the camera"); Write(camera, userData); Console.WriteLine("Done"); break; case Mode.clear: Console.WriteLine("Clearing user data from camera"); Clear(camera); Console.WriteLine("Done"); break; } } 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; } }
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 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; } }
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; } }
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; } }