Accessing USB camera controls with AForge

Shadlan picture Shadlan · Feb 15, 2012 · Viewed 12.7k times · Source

I have a project where i need to work with a USB camera to process images aquired at a very close range (under 5mm). Because the space available is very short, I can't use auxiliary lens.

I know I can do some post processing at bitmap level, but I would like to gain access to properties like auto-focus or white balancing at camera level.

I'm developing in C# with AForge for image aquisition and post processing, but I can't seem to find a way to control the camera before the image aquisition takes place.

Can you help me?

Answer

Shadlan picture Shadlan · Feb 16, 2012

After some more thorough research I've found the answer by myself.

If anyone else is searching for this you can try the following;

VideoCaptureDevice Cam1;
FilterInfoCollection VideoCaptureDevices;

VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
Cam1 = new VideoCaptureDevice(VideoCaptureDevices[0].MonikerString);
Cam1.DisplayPropertyPage(IntPtr.Zero); //This will display a form with camera controls

It also seems possible to control these items without the form by using IAMVideoProcAmp