miércoles, 22 de abril de 2009

Mostra Video

FUNCIONES UTILIZDAS:
cvCaptureFromAVI
CvCapture* cvCaptureFromAVI( const char* filename );
filename: Nombre del archivo AVI.
La función cvCaptureFromAVI asigna y inicializa la estructura CvCapture para leer la secuencia de vídeo desde el archivo de AVI especificado.
Después de que el asignado estructura ya no se utiliza más que deben ser puestos en libertad por cvReleaseCapture función.
cvGrabFrame
int cvGrabFrame (* CvCapture captura);
La función cvGrabFrame grava el frame de la cámara o AVI. El frame gravado se almacena internamente. El propósito de esta función es gravar el marco rápido lo que es importante para la sincronización en el caso de la lectura de varias cámaras simultáneamente. Para conseguir el acceso frame se debe llamar a cvRetrieveFrame.
-------------------------------- CODIGO -----------------------------------
----------------------------------------------------------

#include
#include
#include
#include
int main (int argc, char **argv){
CvCapture *capture;
IplImage *img = 0;
int i=0,c;
capture = cvCaptureFromAVI("videoo.avi");
if(!cvGrabFrame(capture)){ // capture a frame
printf("Could not grab a frame\n");
printf("%p\n",capture);
getchar();
exit(-1);
}
cvNamedWindow( "VideoCaptura",1);
for(i=0;i<900;i++){
cvGrabFrame(capture);
img=cvRetrieveFrame(capture); // retrieve the captured frame
cvShowImage("VideoCaptura",img);
c = cvWaitKey(20);
}
cvQueryFrame(capture); // this call is necessary to get correct
// capture properties
int frameH = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);
int frameW = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);
int fps = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
int numFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
printf("\nFrame size= %i x %i FPS= %i Frame number= %i",frameW,frameH, fps, numFrames);
//Releasing the capture source:
cvReleaseCapture(&capture);
getchar();
//cvReleaseImage(&img);
cvDestroyWindow("VideoCaptura");
return 0;
}
Pd: Podria de donde he sacado el codigo pero no me acuerdo

No hay comentarios:

Publicar un comentario