|
分類:[C#]
OpenCvSharpを使ってボタンを押すとカメラが起動し、リアルタイムで映像を表示するプログラムです。 ラジオボタンの切り替えで表示カラーを変えており、デフォルトでラジオボタン1にチェックが入っています。
ラジオボタン1の時はメモリが安定しているのですが、ラジオボタン2にチェックを入れて表示するとメモリが蓄積されてしまいます。ラジオボタン1にチェックを戻すと蓄積された所で安定します。 1と2の違いはCvtColorなのですがメモリを安定させるにはどうすればいいでしょうか?
private void button1_Click(object sender, EventArgs e) { var capture = new VideoCapture(0); using (var win = new Window("cam")) using (var mat = new Mat())
while (close_flag == false) { capture.Read(mat);
if (mat.Empty()) break;
_frame = mat;
if (radioButton1.Checked == true) { win.ShowImage(mat); } else if (radioButton2Checked == true) { win.ShowImage(mat.CvtColor(ColorConversionCodes.Lab2LBGR)); } Cv2.WaitKey(100); } }
|