diff --git a/ISCamRecorder/CvCamera.cs b/ISCamRecorder/CvCamera.cs index eeed91e..0ad46da 100644 --- a/ISCamRecorder/CvCamera.cs +++ b/ISCamRecorder/CvCamera.cs @@ -32,14 +32,11 @@ /// class CvCamera { VideoCapture camera = null; // カメラオブジェクト - Bitmap[] _Buffer = new Bitmap[2]; // ダブルバッファ - int _WriteBufferID = 0; // 書き込みバッファ番号 FrameRateCounter _Fps = new FrameRateCounter(10); // フレームレート計測 List _RecFrames = new List(); // 録画画像 float _RecFrameRate = 0; // 録画フレームレート MainForm _MainForm = null; // メインフォーム - /// /// コンストラクタ /// @@ -75,18 +72,17 @@ using (var frame = new Mat()) { // 撮影 camera.Read(frame); - _Buffer[_WriteBufferID] = BitmapConverter.ToBitmap(frame); + var bmp = BitmapConverter.ToBitmap(frame); if (_MainForm.State == STATE.Recoding) { _RecFrames.Add(new FrameInfo(frame.Clone())); if (_RecFrameRate == 0) _RecFrameRate = _Fps.FrameRate; } - _WriteBufferID = 1 - _WriteBufferID; // バッファ切り替え // 表示 if (_MainForm.State != STATE.Exit) { _MainForm.CvCameraPic.Invoke((MethodInvoker)delegate { - _MainForm.CvCameraPic.Image = _Buffer[1 - _WriteBufferID]; + _MainForm.CvCameraPic.Image = bmp; }); } diff --git a/ISCamRecorder/MainForm.cs b/ISCamRecorder/MainForm.cs index df1a8f6..234f6ed 100644 --- a/ISCamRecorder/MainForm.cs +++ b/ISCamRecorder/MainForm.cs @@ -43,22 +43,19 @@ List _Cameras = new List (); // ISカメラオブジェクト SensorData _Sensor; // センサーオブジェクト CvCamera _CvCamera; // Cvカメラオブジェクト - //bool _ExitSignal = false; // ソフトウェア終了シグナル Task _TriggerThread; // トリガースレッド Task _SerialThread; // シリアル通信スレッド Task _CvCameraThread; // opencvカメラスレッド Task _RecodingThread; // 録画スレッド float _TriggerFrameRate = 30.0F; // トリガーフレームレート private ulong _availablePhysicalMemory; //合計物理メモリ - //DateTime _LastUpdate; // 前回のUI更新時間 public Chart SensorChart { get { return chart1; } } // 外部からのアクセス用 public PictureBox CvCameraPic { get { return PicCvCamera; } } // 外部からのアクセス用 public STATE State { get; private set; } = STATE.Init; // ソフトウェアの状態 public DateTime RecodingTime { get; private set; } = DateTime.Now; // 録画開始時間 - public string RecodingTimeStr { get { return RecodingTime.ToString("yyyyMMdd_HHmmss"); } } - public string OutputDir { get { return Path.Combine(TxtOutputDir.Text, $"rec{RecodingTimeStr}"); } } - + public string RecodingTimeStr { get { return RecodingTime.ToString("yyyyMMdd_HHmmss"); } } // 録画開始時間文字列 + public string OutputDir { get { return Path.Combine(TxtOutputDir.Text, $"rec{RecodingTimeStr}"); } } // データ保存フォルダ /// @@ -91,7 +88,6 @@ _TriggerThread = Task.Run(TriggerThread); _SerialThread = Task.Run(SerialThread); _CvCameraThread = Task.Run(CvCameraThread); - //_LastUpdate = DateTime.Now; State = STATE.Idle; } @@ -157,10 +153,6 @@ this.Invoke((MethodInvoker)delegate { UpdateForm(); }); return; } - //var now = DateTime.Now; - //var elapsed = now - _LastUpdate; - //if (elapsed.TotalMilliseconds > UI_UPDATE_INTERVAL) { - // _LastUpdate = now; if (State != STATE.Exit) { TxtTop.Text = $"上方カメラ {_Cameras[0].CameraInfo()}"; TxtLeft.Text = $"左方カメラ {_Cameras[1].CameraInfo()}"; @@ -172,9 +164,6 @@ MemoryToUse(); _TriggerFrameRate = float.Parse(TxtTriggerFPS.Text); } - //} - //PicCvCamera.Image = _CvCamera.GetImage(); // 追加カメラ表示 - //if (ChkStartSW.Checked && _Sensor.IsStartButtonPressed) StartRecoding(); } ///