Можно OpenCV использовать для получения изображения с камеры....
CvCapture * camera = cvCreateCameraCapture(0);
//
cvSetCaptureProperty( camera, CV_CAP_PROP_FRAME_WIDTH, 640 );
cvSetCaptureProperty( camera, CV_CAP_PROP_FRAME_HEIGHT, 480 );
//
assert(camera);
IplImage * image=cvQueryFrame(camera);
assert(image);
printf("Image depth=%i\n", image->depth);
printf("Image nChannels=%i\n", image->nChannels);
......