使用emgucv库进行多个图像捕获

时间:2013-12-25 09:16:00

标签: c# winforms emgucv

我正在尝试构建一个可以将用户的照片拍摄3次并将这些照片保存在桌面上的程序我的问题是它只保存图片而不是拍照3次。

private void Form1_Load(object sender, EventArgs e)
{
     bool useCam = true;
     if (!useCam)
        measureImage(null);
     else 
     {
        try
        {
             camera = new Capture();
        }
        catch (Exception exc)
        {
           MessageBox.Show(exc.Message);
           return;
        }

        Application.Idle += viewImage;
        captureProcess = true;
     }
}

这是捕获代码......

private void btnCapture_Click(object sender, EventArgs e)
{
    for (int ctr = 0; ctr < 3; ctr++)
    {
        if (captureProcess == true)
        {
            string data="";
            Application.Idle -= viewImage;

            SaveFileDialog dlg = new SaveFileDialog();

            if (dlg.ShowDialog() == DialogResult.OK)
            {
               img.ToBitmap().Save(@"C:\\Users\\Julie\\Desktop\\" + ctr + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);

                        data = dlg.FileName + ".bmp";
                        MessageBox.Show(data);
                        measureImage(data);
                        Form1_Load(sender, e);
            }
            else
            {
                Application.Exit();
            }

        }

    }
            captureProcess = false;
}

1 个答案:

答案 0 :(得分:0)

假定captureProcess是窗口范围内的变量,您在第一个for循环中将其设置为false,因此由于if(captureProcess == true)检查,第2个和第3个永远不会执行