Прежде всего, я думаю, что лучше использовать Accord.Net вместо Aforge.Net
Во-вторых, вы должны использовать VideoCaptureDevice
для захвата видео с веб-камеры код будет выглядеть как
videoCaptureDevice = new VideoCaptureDevice(moniker);
videoCaptureDevice.VideoResolution = videoCaptureDevice.VideoCapabilities.OrderByDescending(vc => vc.FrameSize.Width).First();
videoCaptureDevice.NewFrame += VideoCaptureDevice_NewFrame;
videoCaptureDevice.Start();
В VideoCaptureDevice_NewFrame
вы можете рисовать на панели с кодом, подобным
lastFrame?.Dispose();
lastFrame = frame.Clone(new Rectangle(0, 0, frame.Width, frame.Height), frame.PixelFormat);
var resizedFrame = new ResizeNearestNeighbor(width, height).Apply(lastFrame);
panelGraphics.DrawImage(resizedFrame, 0, 0);
resizedFrame.Dispose();
и вы можете использовать lastFrame, если пользователь хочет сделать снимок