Nell’articolo precedente ho illustrato le funzioni per poter effettuare la visualizzazione e il salvataggio di un’immagine tramite la libreria highgui delle OpenCV .
Ora descriverò le funzioni per la visualizzazione di un video e di un flusso video proveniente da una webcam.
Visualizzazione di un video
#include <highgui.h>
int main( int argc, char** argv ) {
cvNamedWindow( “Example2″, CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture(“prova.avi”);
IplImage* frame;
while(1) {
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( “Example2″, frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( “Example2″ );
}
Visualizzazione di un flusso video proveniente da una fonte esterna
#include <highgui.h>
int main( int argc, char** argv ) {
cvNamedWindow( “Example3″, CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateCameraCapture(0);
IplImage* frame;
while(1) {
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( “Example3″, frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( “Example3″ );
}
Come si può notare, le due funzioni principali per la visualizzazione dei filmati sono cvCreateFileCapture e cvCreateCameraCapture : la prima funzione è utilizzata per i file, mentre la seconda per i flussi video provenienti da telecamere.