Как снимать фото взрыв с желаемыми свойствами каждый C # Directshow веб-камера - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь сделать несколько снимков подряд с различной экспозицией, используя веб-камеру.

Веб-камера Обработчик событий:

void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
            imageorg = new Image<Bgr, byte>(eventArgs.Frame);
            imageBox1.Image = imageorg;
            if (BurstCapON)
                saveonephoto();
}

Активирующая кнопка:

private void button2_Click(object sender, EventArgs e)
{
            folderBrowserDialog1.ShowDialog();
            currexpousure = 0;
            cam.SetCameraProperty(CameraControlProperty.Exposure, currexpousure, CameraControlFlags.Manual);
            BurstCapON = true;

}

Сохранение фотографий Функция итерации Expousure

private void saveonephoto()
{

            string filename = String.Format(@"\img{0:00}_{1:00}.jpg", filenumerator, currexpousure);
            while(File.Exists(folderBrowserDialog1.SelectedPath + filename))
            {
                filenumerator++;
                filename = filename = String.Format(@"\img{0:00}_{1:00}.jpg", filenumerator, currexpousure);
            }
            if (currexpousure >= 100)
                BurstCapON = false;
            else
                currexpousure += 10;
            cam.SetCameraProperty(CameraControlProperty.Exposure, currexpousure, CameraControlFlags.Manual);
            imageorg.Save(folderBrowserDialog1.SelectedPath + filename);
}

Я получаю фотографии с разной экспозицией с задержкой, например, первая фотография должна быть самой темной, но это не так.Как я могу синхронизировать изменение параметров с захватом фотографий?

...