using OpenCvSharp;
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
using System.IO;
// added to WEBCAM //
using System.Text;
using AForge.Video;
using AForge.Video.DirectShow;
// added to WEBCAM //
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
//camera moduels
public int maintimerfreq = 5;
public int prevfile_cam0 = 0, prevfile_cam1 = 0, prevfile_cam2 = 0, prevfile_cam3 = 0;
public int quitcamflag = 0;
public int cam0waitflag = 0;
public int cam1waitflag = 0;
public int cam2waitflag = 0;
public int cam3waitflag = 0;
public int cam0time = 0;
public int cam1time = 0;
public int cam2time = 0;
public int cam3time = 0;
// WEBCAM //
private FilterInfoCollection videoDevices0;
private VideoCaptureDevice videoDevice0;
private VideoCapabilities[] videoCapabilities0;
private CameraControlFlags controlflag0;
Bitmap camimg0;
public int web0flag = 0, web0_Width = 0, web0_Height = 0;
//main timer
public int maintimer = 0;
public int beforetimetotal = 0;
public int beforetime = 0;
public int beforetime1 = 0;
public int beforetime2 = 0;
public int beforetime3 = 0;
public int beforetime0 = 0;
//keep mode
public int keepflag = 0;
//////////////////////////////////////////////
/////////MAIN MAIN MAIN /////////
///////////////////////////////////////////////
/// entry point
/// //////////////////////////////////////////
//INIT
public Form1()
{
InitializeComponent();
}
//LOAD
private void Form1_Load(object sender, EventArgs e) // INITIALIZE //
{
// webcam 0 load //
try
{
videoDevices0 = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices0.Count != 0)
{
comboBox8.Items.Clear();
foreach (FilterInfo device in videoDevices0)
{
comboBox8.Items.Add(device.Name);
}
comboBox8.SelectedIndex = videoDevices0.Count - 1;
comboBox9.Enabled = true;
}
else
{
comboBox8.Items.Clear();
comboBox8.Items.Add("no devices");
comboBox8.SelectedIndex = 0;
}
}
catch (Exception error)
{
button1.Text = error.ToString();
}
}
//FORM CLOSING button
private void button16_Click(object sender, EventArgs e)
{
timer2.Enabled = false;
Application.Exit();
}
//FORM close
private void Form1_FormClosing(object sender, FormClosingEventArgs e) //QUIT & close Cameras
{
////WEBcam close
//
if (web0flag > 0)
{
if (videoDevice0.IsRunning)
{
videoDevice0.SignalToStop();
videoDevice0.WaitForStop();
videoDevice0 = null;
}
}
}
/////////MAIN TIMER1 /////////
/////////MAIN TIMER1 /////////
/////////MAIN TIMER1 /////////
///
//MAIN timer interval
private void numericUpDown5_ValueChanged(object sender, EventArgs e)
{
// timer1.Interval = (int)numericUpDown5.Value;
}
//operation panel ON
private void label11_Click(object sender, EventArgs e)
{
cam0disp();
}
private void cam0disp()
{
bool check = true;
if (button1.Visible == true)
{
check = false;
}
else
{
check = true;
}
button2.Visible = check;
button1.Visible = check;
button48.Visible = check;
button77.Visible = check;
numericUpDown1.Visible = check;
comboBox8.Visible = check;
comboBox9.Visible = check;
label59.Visible = check;
label96.Visible = check;
}
void videoDevice_NewFrame0(object sender, NewFrameEventArgs eventArgs)
{
DateTime dt2 = DateTime.Now;
cam0time = (((dt2.Hour * 60 + dt2.Minute) * 60) + dt2.Second) * 1000 + dt2.Millisecond;
videoDevice0.NewFrame -= new NewFrameEventHandler(videoDevice_NewFrame0);
cam0waitflag = 1;
if (InvokeRequired)
{
Invoke(new Action