2010-11-26 5 views
1

Что было бы лучшим способом использовать лучшую библиотеку для быстрого захвата одного изображения с веб-камеры с помощью C++? EDIT:
Хотя пример faq показал, как захватить поток кадров, я немного изменил его, чтобы сделать то, что мне нужно. Спасибо.Захват одного изображения с веб-камеры

#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; 
} 

ответ

3

OpenCV имеет C и C++ API, является кросс-платформенным, и очень проста в использовании. Существует пример в Learning OpenCV на стр. 26-27, который охватывает захват одного кадра из веб-камеры. Существует также пример в FAQ по OpenCV: http://opencv.willowgarage.com/wiki/CameraCapture

+0

Не могли бы вы указать номер страницы? У меня есть книга, и я не могу найти эти примеры. – 2010-11-27 00:59:35

Смежные вопросы