public Form1() { InitializeComponent(); Debug.Listeners.Add(new TextWriterTraceListener(Console.Out)); episcan = new MyEpiscan(); subcam = new SubCam(); UpdateCameraList(); InitUISyncboard(); InitUIScreen(); // camera groupbox disable this._cameraGb.Enabled = false; // episcan groupbox disable this._episcanGb.Enabled = false; // this._displayColorCb.SelectedIndex = 0; // Set event to receive event notification when display settings change. Microsoft.Win32.SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingChanged); }
public async Task Run(MyEpiscan episcan) { if (YMin < 0) { YMin = 0; } if (YMax < 0) { YMax = episcan.Screen.Size.Height; } // generate patterns var projSize = new Size(episcan.Screen.Size.Width, episcan.Screen.Size.Height); var projNum = (YMax - YMin) / Shift; var patterns = new List <Mat>(); for (int i = Math.Max(YMin, 0); i < Math.Min(YMax - Width, YMax - 1); i += Shift) { var pattern = new Mat(projSize, MatType.CV_8UC1); pattern.RowRange(i, i + Width).SetTo(255); patterns.Add(pattern); } // Switch to synchronized mode episcan.Sensor.ShutterMode = MySensor.ShutterModeList.Rolling; // capture and save for (int i = 0; i < patterns.Length; i++) { var pattern = patterns[i]; episcan.Screen.BackgroundMat = pattern; await Task.Delay(100); var captured = await episcan.CaptureAverage(AverageNum); var filename = $"line_{i:D4}.png"; Cv2.ImWrite(filename, captured); } }
public async Task Run(MyEpiscan episcan) { // generate patterns var projSize = new Size(episcan.Screen.Size.Width, episcan.Screen.Size.Height); var pattern = new Mat(projSize, MatType.CV_8UC1); pattern.ColRange(projSize.Width / 2 - 50, projSize.Width / 2 + 50).SetTo(255); episcan.Screen.BackgroundMat = pattern; await Task.Delay(100); // Switch to synchronized mode episcan.Sensor.ShutterMode = MySensor.ShutterModeList.Rolling; for (int delay = DelayMin, i = 0; delay < DelayMax; delay += Shift, i++) { episcan.SetDelayExposure(delay, Exposure); await Task.Delay(1); var captured = await episcan.CaptureAverage(AverageNum); var filename = $"capture_{i:D5}_{(int)delay:D5}.png"; Cv2.ImWrite(filename, captured); } }
public void Configure(MyEpiscan episcan) { Debug.Write("hello"); }