Как сказал Мартин, он не поддерживается в OpenCV, но вы можете использовать небольшую хитрость. Если это удовлетворяет вашим потребностям, вы можете узнать количество камер, последовательно перечислив камеры, вызывая cvCreateCameraCapture()
до тех пор, пока не вернется NULL.
Sth, как это:
CvCapture *cap;
int n = 0;
while(1)
{
cap = cvCreateCameraCapture(n++);
if (cap == NULL) break;
cvReleaseCapture(&cap);
}
cvReleaseCapture(&cap);
return n-1;
Теперь у вас есть несколько камерных устройств, поэтому вы можете позволить своему пользователю выбрать его по индексу из списка, т.е.
Недостатком является то, что OpenCV не предоставляет вам никакой информации об имени устройства, поэтому, если вы тоже хотите это сделать, вам стоит взглянуть на Microsoft DirectShow или библиотеку, предложенную Мартином.