Capture d'image unique à partir d'une webcam
Quelle serait la meilleure façon en utilisant le meilleur de la bibliothèque de capturer rapidement une image à partir d'une webcam avec c++?
EDIT:
Bien que la faq exemple montre comment capturer un flux d'images, j'ai transformé un peu pour faire ce dont j'ai besoin. Merci.
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
int main() {
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
if(!capture){
fprintf(stderr, "ERROR: capture is NULL \n");
getchar();
return -1;
}
cvNamedWindow("mywindow", CV_WINDOW_AUTOSIZE);
IplImage* frame = cvQueryFrame(capture);
if(!frame) {
fprintf(stderr,"ERROR: frame is null.. \n");
getchar();
}
while(1) {
cvShowImage("mywindow", frame);
if((cvWaitKey(10) & 255) == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
return 0;
}
Vous devez vous connecter pour publier un commentaire.
OpenCV a C et C++ Api, est multi-plateforme, et est très facile à utiliser. Il y a un exemple dans L'Apprentissage D'OpenCV sur la page 26-27 qui couvre la capture d'une image unique à partir d'une webcam. Il est aussi un exemple dans le OpenCV FAQ:
http://opencv.willowgarage.com/wiki/CameraCapture